OpenWRT 一键安装Nginx + Mysql + PHP

先下载一键安装工具:
https://github.com/brick713/OpenWRT-Nginx-Mysql-PHP

版本变动
版本 V1.0

支持OpenWRT

功能描述
本脚本用于在OpenWRT上自动化部署 Nginx + Mysql + PHP 环境。脚本运行后,Nginx服务将开启在8080端口(为了避开OpenWRT本身的界面)。并自动生成一个名称为index.php的phpinfo文件.数据库将生成一个用户名为root密码为admin的用户。将新建一个www用户组用户名为www,新建**/web目录为Web服务目录,数据库默认安装在/mnt**目录中。相关配置内容路径不变,可以自行查看。

使用方法
将所有文件下载并上传至OpenWRT的/tmp目录。使用如下命令:

chmod +x OpenWRT_LNMP_install.sh
./OpenWRT_LNMP_install.sh
环境测试
完成安装后打开路由器默认地址http://*.*.*.*:8080,安装若成功则出现phpinfo信息界面.

如果mysql和php有问题,这篇文章应该能解决。
Openwrt上Php+Mysql+Lighttpd的安装配置

如果nginx有问题,这篇文章应该能解决。
openwrt搭建WEB服务器(LNMP)+DDNS外网访问 nginx+mysql+php+ddns+ wordpress

本教程是本人多次在路由器上搭建网站的实际经验浓缩而成,只需按照步骤将代码 一 一 复制粘贴即可成功。



opkg update
-------------------------------------------------------------------
准备:  安装 USB/挂载/分区 工具
-------------------------------------------------------------------
opkg install kmod-usb-core
opkg install kmod-usb2                
opkg install kmod-usb-ohci
opkg install kmod-usb-storage
opkg install kmod-fs-ext4 
opkg install e2fsprogs
opkg install mount-utils 
opkg install cfdisk 


-----------------------------------------------------------------------------------------
第一步  磁盘分区/增加虚拟内存swap/网站根目录挂载mount/环境变量path
-----------------------------------------------------------------------------------------
cfdisk /dev/sda
mkswap /dev/sda1
mkfs.ext4 /dev/sda2                   
mkdir -p /mydev        
    
mount /dev/sda2 /mydev

vi /etc/config/fstab
-----------------------
配置内容:
config swap
option device /dev/sda1
option enabled
config mount
option target /mydev
option device /dev/sda2
option fstype ext4
option options rw,sync
option enabled 1
-----------------------



echo dest usb /mydev/bg >> /etc/opkg.conf            
cat /etc/opkg.conf


vi /etc/profile
---------------
配置内容:
export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/mydev/bg/usr/bin:/mydev/bg/usr/sbin:/mydev/bg/usr/lib:/mydev/bg/etc
export LD_LIBRARY_PATH=/mydev/bg/usr/bin:/mydev/bg/usr/sbin:/mydev/bg/usr/lib:/lib:/mydev/bg/etc
---------------


-----------------------------------------------------------------
第二步  安装mysql
-----------------------------------------------------------------
opkg install mysql-server

vi /etc/my.cnf
--------------
配置内容:
datadir  = /mydev/data/mysql/
tmpdir  = /mydev/data/tmp/
bind-address        =0.0.0.0
--------------
mkdir /mydev/data 
mkdir /mydev/data/mysql
mkdir /mydev/data/tmp
mysql_install_db --force

/etc/init.d/mysqld enable
/etc/init.d/mysqld start
/usr/bin/mysqladmin -u root password XXXXXX  


---------------------------------------
安装网站数据库时要用到的sql语句
mysql -u root -p
show databases;
create database xxx;
---------------------------------------
------------------------------------------------------------------
第三步  添加用户组
------------------------------------------------------------------
opkg install shadow-useradd shadow-groupadd
mkdir /mydev/www
groupadd myweb
useradd -g myweb webadmin
chown -R webadmin:myweb /mydev/www

------------------------------------------------------------------
第四步  安装nginx服务器
------------------------------------------------------------------
opkg install nginx

配置/etc/nginx/(配置好见附件)
/etc/init.d/nginx enable
/etc/init.d/nginx start

------------------------------------------------------------------
第五步  安装spawn-fcgi
------------------------------------------------------------------
opkg install spawn-fcgi
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 2 -f /usr/bin/php-cgi

------------------------------------------------------------------
第六步  安装php
------------------------------------------------------------------
opkg install php5 
opkg install php5-mod-pdo-mysql php5-mod-pdo php5-mod-mysql 
opkg install php5-mod-gd php5-mod-session 
opkg install php5-fastcgi php5-cgi 
opkg install php5-mod-xml php5-mod-json 
opkg install php5-mod-tokenizer
opkg install php5-mod-mcrypt php5-mod-mbstring php5-mod-ctype php5-mod-curl php5-mod-exif php5-mod-ftp php5-mod-iconv  php5-mod-sockets


vi /etc/php.ini
---------------
配置内容:
short_open_tag = on
;doc_root = "/www"
extension=mysql.so
......
[Date]
date.timezone =  Asia/Shanghai
[MySQL]
mysql.default_socket = /var/run/mysqld.sock
---------------

--------------------------------------------------------------------
配置Timezone
--------------------------------------------------------------------
修改openwrt主机时区:System〉System〉Timezone:Asia/Shanghai 
opkg install zoneinfo-asia zoneinfo-core





至此,LNMP已搭建完成。
接下来你可以配置网站的访问端口,如果从80端口访问需要注意和路由器访问页面冲突;
安装网站cms系统请根据自己的路由器内存量力而为,本人的16M内存安装织梦运行轻松,使用火车头采集上传数据库也无压力,安装wordpress,虽然可以正常安装使用,但明显内存吃紧。
外网访问注意开放端口,并安装DDNS动态域名解析;
内网穿透可使用ngrokc。







--------------------------------------------------------------------
第七步   开放80端口
--------------------------------------------------------------------
vi /etc/config/firewall
---------------
配置内容:
config rule        
   option src              wan        
   option dest_port        80        
   option target           ACCEPT        
   option proto            tcp
---------------

--------------------------------------------------------------------
配置uhttpd(避免网站页面和路由器登陆地址80端口冲突)
--------------------------------------------------------------------
vi /etc/config/uhttpd
list listen_http '0.0.0.0:80' 修改80端口


------------------------------------------------------------------------------------------------------------------------------------------------------------------------
第八步   安装mybb(轻量级cms)           
wordpress、
dede、discuzx、phpwind等CMS皆可,但应考虑路由器内存,尽量选用占用内存小的
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
下载:
https://mybb.com/

tar -xzvf mybb.tar.gz

解压后放在/mydev/www文件夹中,www是网站根目录,然后打开浏览器访问安装,要用到之前设置的数据库密码,/mydev/data是数据库文件夹 

访问浏览器安装前先确保mysql,nginx已启动,可运行以下命令行启动mysql、nginx

/etc/init.d/mysqld enable
/etc/init.d/mysqld start
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 2 -f /usr/bin/php-cgi
/etc/init.d/nginx enable
/etc/init.d/nginx start


--------------------------------------------------------------------
第九步  安装ddns (此处是为了便于网站外网访问,如果只是局域网内访问可以不必操作)
--------------------------------------------------------------------
opkg install ddns-scripts luci-app-ddns

--------------------------------------------------------------------
注册ddns地址
--------------------------------------------------------------------
https://changeip.com

--------------------------------------------------------------------
第十步  启动
--------------------------------------------------------------------
swapon /dev/sda1
mount /dev/sda2 /mydev
/etc/init.d/mysqld enable
/etc/init.d/mysqld start
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 2 -f /usr/bin/php-cgi
/etc/init.d/nginx enable
/etc/init.d/nginx start

--------------------------------------------------------------------
备注:强制手动跟新ip
--------------------------------------------------------------------
https://用户名:密码@nic.changeip.com/nic/update?system=dyndns&hostname=主机名

你可能感兴趣的:(OpenWRT)