如何在路由器上搭建自己的个人网站怎么在路由器里添加一个网址

前言本文搭建个人网站采用了ONMP架构。O = OpenWrt,即智能路由器的固件。N = Nginx,轻量级的网页服务器,也可选用uhttpd,lighttpd等,选nginx的原因只是因为我对它比较熟悉。M = Mysql,目前新版已更名为Mariadb,一个数据库服务器,可用于存储网站数据,利于调用。P = PHP7,编写动态网页的后台语言程序之一,选用它是因为它背后有庞大、免费且开源的网站程序库,拿来即可使用。网上有很多关于ONMP架构的教程和脚本,但都已经过时,多数都安装失败。本文的搭建方法截止

本文的前言采用ONMP框架来构建个人网站。

O = OpenWrt,即智能路由器的固件。

N = Nginx,一个轻量级的web服务器,或者uhttpd,lighttpd等。选择nginx的原因是我对它比较熟悉。

M = Mysql,现在新版本已经改名为Mariadb,数据库服务器,可以用来存储网站数据,方便调用。

选择编写动态网页的后台语言程序之一P = PHP7,是因为其背后有一个庞大的免费开源网站库,可以立即使用。

网上有很多关于ONMP建筑的教程和脚本,但是都已经过时了,大部分都无法安装。本文的构造方法到2021年5月5日仍然有效,并且是精简的,不需要安装多余的软件包。

OpenWrt版本的构建环境:精简固件LEDE R21.3.27

软件来源:官方(OpenWrt.Org)软件来源

如何更改软件来源阅读此处:

你需要使用SSH登录命令行,但是你不会看到:如何使用SSH登录OpenWrt,以及服务器和客户端的设置方法。

首先使用SSH登录路由器。让我们现在开始。

要安装必要的软件,首先更新软件源,在命令行输入以下命令并执行它:

opkg更新

更新后安装时区支持,否则服务器的时区设置会出错。

opkg安装区域信息-核心区域信息-亚洲

安装用户和用户组配置软件:

opkg安装shadow-groupadd shadow-useradd

这两个软件包将用于向系统添加用户组和用户,稍后会用到。

创建www用户并添加www用户组:

groupadd www

将www用户添加到www用户:

用户添加-g www www

现在我们创建了一个www用户组,其中有一个名为www的用户。操作结束后,我们会让nginx以www用户的身份在特定目录下运行网站服务,这样网站程序的所有操作都不会影响到其他目录。

nginx的安装和配置(1)安装nginx

安装命令:

opkg安装nginx

安装完成后,您需要用vi:

vi /etc/nginx/nginx.conf

根据以下内容进行修改:

用户www www#配置nginx服务器的用户身份{listen 8080;#让nginx监听端口8080,或者填充任何未被占用的端口。server _ name 192 . 168 . 1 . 1;#网站的域名,先配置成内网,填写你的路由器内网IP。location/{root/web;#存储网站的目录。我们还没有创建它。请填写索引index.html,index.htm,index.php;#默认主页的名字需要php,所以加index.php}location ~ 。php $ {#来配置php解析,并且没有php可以忽略root/web;#同上,存放网站的目录fastcgi _ pass 127 . 0 . 0 . 1:9000;#php解析服务器的地址,填在fastcgi _ index index.php就可以了;#php默认主页fastcgi _ paramscript _ filename $ document _ root $ fastcgi _ script _ name;#脚本文件请求路径包含fastcgi _ params#合并fastcgi的详细配置文件}}

Vi编辑文本的简单技巧:

vi编辑器有两种工作模式:命令行模式和文本输入模式。打开vi后,默认是命令行模式。

用键盘↑、→、↓、←控制光标移动。

在命令行模式下,按“I”键进入文本输入模式,可以像普通文本一样编辑。

在文本输入模式下,按“ESC”进入命令行模式,在该模式下不能编辑文本。

在命令行模式下,输入“:wq”保存文本并退出。如果“:w”被保存,它将不会退出。":问!"不保存退出。

更多关于vi编辑器的使用方法,请自行搜索,本文不做更多解释。

(2)创建和配置网站目录

创建目录:

mkdir /web

更改目录权限,以便nginx拥有操作权限:

chown -R www

(3)运行nginx服务,加入自启动。

两个订单:

服务nginx启动

服务nginx启用

好了,现在访问192.168.1.1:8080,可以看到带有nginx字样的网页吗?访问地址基于您在nginx.conf中配置的内容,采用IP(域名):port的形式。

因为默认的web服务端口80已经被OpenWrt后台管理占用,我们只能使用其他端口,以后可以通过端口转发访问,不吸引人的URL: 8080就隐藏起来了。

如果你只想发布纯Html和H5之类的静态网页,就不需要看下面这些了。

如果要安装博客、私有云之类的程序,那就继续。

Mariadb(mysql)数据库安装和配置(1)安装数据库

安装命令:

opkg安装Maria db-server-extra Maria db-client-extra

安装完成后,编辑/etc/MySQL/conf . d/50-server . CNF:

VI/etc/MySQL/conf . d/50-server . cn f

根据以下内容进行修改:

User = root #数据库管理员用户名datadir = /mysql/databases #数据库存储目录,可以自定义,但是不要放在网站目录tmpdir = /mysql/tmp #数据库临时文件存储目录,如上 bind-address = 0.0.0.0。

(2)配置数据库目录

创建数据库目录:

mkdir/MySQL/数据库

mkdir /mysql/tmp

将数据安装到/mysql/databases。安装命令:

mysql_install_db - force

启动数据库并加入自启动:

服务mysqld启动

服务mysqld启用

设置数据库管理员密码:

Admin-u root密码'设为您自己的密码'

(3)测试安装是否成功。

输入mysql -u root -p p。

执行后,会提示您输入密码,并输入之前设置的管理员密码。

如果登录成功,命令行会变成“MySQL >”,这样,安装成功,输入quit退出即可。

旧的教程和脚本是安装mysql-server。由于版本过期,软件源自动匹配到mariadb-server进行安装,但会导致软件包安装不完整。需要同时安装mariadb-server-extra和mariadb-client-extra包。

7 PHP安装与配置PHP早已更新到PHP7,官方软件源码中只能安装PHP7。那些还是PHP5的教程和脚本肯定安装不了。

而且我也不明白为什么那些教程和脚本里用spawn-fcgi来调用fastcgi。有了自己的儿子为什么不用php-fpm?而且php-fpm是和fastcgi集成的,装个包就行了。

(1)安装PHP7

命令:

opkg安装php7 php7-fpm

(2)安装phh7 mariadb的扩展

命令:

opkg安装PHP 7-mod-MySQL

③配置php.ini

打开/etc/php.ini。

vi /etc/php.ini

根据以下内容进行修改:

[PHP]doc_root = "/web" #网站-存储目录user_dir = "/web" #随意extension _ dir = "/usr/lib/PHP " # PHP对存储目录进行扩展,如果出错就不会加载扩展[/h]其他前面有# note #。如果以后安装了新的扩展,对应的# numberextension = mysqli . so #原来是mysql.so,但是已经放弃了mysql功能。使用mysqlextension = PDO . so # PDO扩展extension = PDO-MySQL . so # PDO的MySQL函数[date]date . time zone = Asia/Shanghai #要更改时区,之前的时区支持是配置[PDO _ MySQL]PDO _ MySQL . cache _ size = 2000PDO _ MySQL . default _ socket =/var/run/该块中的所有MySQL都改为mysqli[mysqli]mysqli . allow _ local _ infile = onmysqli . allow _ persistent = onmysqli . cache _ size = 2000mysqli . max _ persistent =-1mysqli . max _ links =-1mysqli . default _ port = 3306mysqli

(4)配置php-fpm

打开/etc/php7-fpm.d/www.conf:

vi /etc/php7-fpm.d/www.conf

根据以下内容进行修改:

User = www #php-fpm的运行标识group = www # user grouplisten = 127 . 0 . 0 . 1:9000 # php-FPM监听服务端口,该端口用于解析从本机传递过来的PHP代码。

(5)运行php-fpm,加入自启动。

服务php7-fpm启动

服务php7-fpm启用

(6)测试php7是否正常工作。

转到/web文件夹:

cd /web

创建一个名为index.php的文件:

六index.php

在其中输入代码:

保存后打开浏览器访问192.168.1.1:8080,出现phpinfo网页,说明安装成功。

至此,ONMP的基本配置完成。

当然,我们还没有测试php和mariadb是否连接正确。我们可以用大神们写的探针测试一下。度娘搜索“PHP探针”,下载,上传到/web目录,访问探针文件,可以测试。

还有,我们现在安装的php功能都很弱。比如禁用一些危险的功能没有设置,curl,iconv,json,xml等扩展还没有安装。您可以使用以下命令:

opkg列表| grep php7-mod-*

列出php7的所有扩展包,用opkg install命令一次安装完列出的扩展包。

安装完扩展包后,别忘了修改php.ini去掉* .so前的#号。

建立个人网站还剩下两个关键步骤:

  • 在本文中,我将在构建的环境中安装我最喜欢的网站程序。接下来,我将用著名的WordPress博客程序演示安装过程。
  • 配置外联网访问。这需要DDNS或内部网的渗透。配置外联网访问后,无论我们去哪里,都可以访问路由器的所有服务。具体用途可以自己补。
  • 如果你还没有完成,请留言。

    谢谢大家的赞、分享和关注。欢迎吐槽。大家一起交流分享软件使用的小技巧吧。