OpenWrt+nginx+php安装discuz
下面这个图片是本次的硬件资源:一个无线路由器的开发板,一个8G的u盘,一条手机的数据线(可以作为串口和供电使用),一条网线,一个USB Hub。
<ignore_js_op>
<ignore_js_op>
| 1、OpenWrt挂载U盘作为系统 |
因为本次才有的无线路由器的开发板的Flash是8M的,编译、烧写完openWrt后,该Flash所剩无几,用来安装论坛显然是心有力而力不足,因此需要将我们的U盘挂载用于安装各类软件,我采用的是exroot的方式,当然也可以采用其他的方式,这里以我自己采用的方式做说明。
首先需要OpenWrt路由器安装USB驱动,我采用的Rom里面已经包含,所以此步不再多说。直接利用下面的方式设置为U盘启动【本处参考了多篇网络技术文章,但是确保可用,网上很多的都不可用】
<ignore_js_op>
1、挂载启动
- mount /dev/sda1 /mnt ##挂载U盘
- mkdir /tmp/root ##建设启动目录
- mount -o bind / /tmp/root ##挂载Openwrt启动文件
- cp /tmp/root/* /mnt -a ##将Openwrt启动文件复制到U盘
- umount /tmp/root ##卸载挂载
- umount /mnt ##卸载挂载
复制代码
<ignore_js_op>
2、利用PuTTY连接路由器,输入下面命令【Putty和vi使用请自行baidu】
- vi /etc/config/fstab
复制代码
修改内容如下:
- config mount
- option target /overlay ##挂载到overlay,启动目录
- option device /dev/sda1 ##启动设备
- option fstype ext4 ##分区格式
- option options rw,sync ##可修改,不知道啥意思
- option enabled 1 ##自动挂载
- option enabled_fsck 0
- option is_rootfs 1
复制代码
也可以利用WinSCP在线编辑【WinSCP如何使用请自行baidu】:
3、修改完毕后,重启路由器。重启完成后,从U盘启动,如下图所示,空间已经变成8G U盘的了,可用随意安装任何软件。

| 2、安装配置Nginx、PHP5与MySQL |
1、安装Nginx、PHP与MySQL软件
- opkg update
- opkg install php5 php5-mod-gd php5-mod-session php5-mod-pdo php5-mod-pdo-mysql php5-mod-mysql php5-mod-mcrypt php5-mod-mbstring php5-fastcgi php5-cgi php5-mod-xml php5-mod-ctype php5-mod-curl php5-mod-exif php5-mod-ftp php5-mod-iconv php5-mod-json php5-mod-sockets php5-mod-sqlite3 php5-mod-tokenizer php5-mod-zip mysql-server nginx spawn-fcgi zoneinfo-core zoneinfo-asia shadow-groupadd shadow-useradd
复制代码
我是一次全部安装完的,如果你感觉不舒服,可用一条条安装,里面软件包含Nginx、PHP与MySQL所需的各项软件及相关的软件。
2、建立操作用户
- groupadd www
- useradd -g www www
- chown -R www:www /www
复制代码
3、创建数据库文件夹
- mkdir -p /mnt/data /mnt/data/mysql /mnt/data/tmp
复制代码
4、创建默认数据库
- /usr/bin/mysql_install_db --force
复制代码
5、启动mysql,并且创建root密码,密码设置为123,如果真正使用,建议设置复杂点的密码
- /etc/init.d/mysqld start
- /usr/bin/mysqladmin -u root password 123
复制代码
登陆数据库
- mysql -u root -p
复制代码
6、连接上mysql之后,创建数据
- create database discuz
- \g
复制代码
查看当前可用数据库
- show databases
- \g
复制代码
查看MySQL运行状态,输入 /s
7、修改/etc/nginx/nginx.conf,修改/etc/nginx/fastcgi_params,解决Nginx文件类型错误解析漏洞,修改/etc/php.ini,这三处的修改和设置关系到后面论坛能否安装运行,及能否采用Nginx与PHP关联运行,所以一定要设置好,由于代码比较多,我这里就不再拷贝具体的代码,把修改好的文件用附件上传,有需要的自己下载看。
nginx与php设置.rar (4.84 KB, 下载次数: 66)
点击文件名下载附件 nginx与php设置
8、启动spawn-fcgi(如需开机自动运行,可将命令添加到/etc/rc.local)
- /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 2 -f /usr/bin/php-cgi
复制代码
9、启动nginx
- /etc/init.d/nginx enable
- /etc/init.d/nginx start
复制代码
10、输入 reboot,重启路由器。将下面的内容复制到一个文件,随意命名为一个文件,如1.php,上传到论坛服务器
- <?php
- phpinfo();
- ?>
复制代码
11、输入 http://192.168.1.1:88/1.php ,则说明正常运行PHP。
<ignore_js_op>
12、利用雅黑PHP探针看运行情况,http://192.168.1.1:88/tz.php(此处为你的路由器设置的地址及上面文件的名称),显示如下:
| 3、discuz论坛安装 |
1、首先下载discuz,最新版本为Discuz_X3.1,下载地址请点击 discuz下载【简体UTF8版本】;
3、上传完成后,按照产品安装说明,将相应的文件与文件夹设置为 777 权限;
./config/config_global.php
./config/config_ucenter.php
./config
./data
./data/avatar
./data/plugindata
./data/template
./data/threadcache
./data/attachment
./data/attachment/album
./data/attachment/forum
./data/attachment/group
./data/log
./uc_client/data/cache
./uc_server/data/
./uc_server/data/cache
./uc_server/data/avatar
./uc_server/data/backup
./uc_server/data/logs
./uc_server/data/tmp
./uc_server/data/view
4、打开浏览器,输入 192.168.1.1:88/bbs/install/,回车:
5、点击“我同意”,开始安装(必须全部绿色,如果有红色则前面数据库或者文件权限设置错误)
6、安装数据库,与前面设置的账户,密码要一致:
7、安装完成后:
<ignore_js_op>
8、进入管理中心:
<ignore_js_op>
9、进入应用中心:
10、论坛的样子大家都熟悉了,都一样的,不再截图,下面看看安装运行论坛之后的PHP探针运行状态。
| 4、小结 |
利用OpenWrt+nginx+php安装discuz,由于OpenWrt本身系统为Linux系统,因此采用Nginx的方式安装discuz论坛完全没有王问题,关键在于对于Nginx与PHP相关功能的设置。由于时间关系,本周就只做了Discuz的论坛安装,后面有时间的时候再搞下phpwind的安装,大同小异,建议有兴趣的也可以试下。
OpenWrt+nginx+php安装discuz的更多相关文章
- 宝塔面板nginx配置安装Discuz
Discuz!在Nginx下的Rewrite 需要说明的是,下网上以前一直流传的Rewrite都是有误的. 下面的Rewrite中百分号前面多了个转移字符"",这在Apache中是 ...
- 004.测试解析php,安装discuz
一.配置解析php 编辑nginx配置文件/usr/local/nginx/conf/nginx.conf [root@huh ~]# vim /usr/local/nginx/conf/nginx. ...
- 基于lnmp环境安装Discuz
安装环境 Linux:CentOS Linux release 7.5.1804 (Core) nginx:1.14.2 php-fpm:5.4.16 mariadb-server:5.5.60 基本 ...
- centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 访问控制 apache rewrite 配置开机启动apache tcpdump 第二十节课
centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 ...
- CentOS7.x-lnmp环境下安装Discuz论坛
1.安装lnmp.这里采用一键安装的包 yum -y install wget wget http://soft.vpser.net/lnmp/lnmp1.6-full.tar.gz 2.加压安装ln ...
- 在群晖NAS上运行URLOS之后竟然能安装Discuz! Q!!
如果我们手头上有1台群晖NAS时,有没有考虑过把群晖NAS当成服务器来使用,这样会不会很有意思呢? 现在,我们终于可以尝试一番了,把群晖NAS变成一台实实在在的服务器,在上面跑各种运行环境!其实很简单 ...
- Nginx服务安装配置
1.Nginx介绍 Nginx是一个高性能的HTTP和反向代理服务器,由俄罗斯人开发的,第一个版本发布于2004年10月4日.Nginx由于出色的性能,在世界范围内受到了越来越多人的关注,其特点是占有 ...
- Django Nginx+uwsgi 安装配置
使用 python manage.py runserver 来运行服务器.这只适用测试环境中使用. 正式发布的服务,我们需要一个可以稳定而持续的服务器,比如apache, Nginx, lighttp ...
- mysql 自动备份和nginx自动安装脚本
一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 ...
随机推荐
- FACTORY设计模式【让吃货也能理解的程序】
一个人要有思想,技术再牛的人,如果没有一点点文化气氛,那么也是个码农,不能追到女朋友滴. 我这个人文化真心不多,但是比较喜欢读古诗文.虽然读完之后,记在脑海里的不多,不过,就讨一个喜欢[读]. Lee ...
- 论C++与三国
Scott Meyers曾说过,C++语言是一个语言联邦.C++包含面向过程,面向对象,泛型编程编程思想.现在C++11有加了一堆新特性,语言联邦更为庞大. 程序员们.常常挑起语言之争,甚至连大师级人 ...
- InnoDB主要数据结构及调用流程
InnoDB主要数据结构及调用流程 InnoDB是MySQL中常用的数据引擎.本文将从源码级别对InnoDB重点数据结构和调用流程进行分析. 主要数据结构(buf0buf.h) Buf_pool Bu ...
- MYSQL 体系结构图-LRU
- UML中的图
用例图.类图.包图.顺序图.协作图.状态图.活动图.构件图.部署图等 1.用例图 显示多个外部参与者以及他们与系统提供的用例之间的连接.用例是系统中的一个可以描述参与者与系统之间交互作用功能单元.用例 ...
- Python之路,Day19 - CMDB、CMDB、CMDB
Python之路,Day19 - CMDB.CMDB.CMDB 本节内容 浅谈ITIL CMDB介绍 Django自定义用户认证 Restful 规范 资产管理功能开发 浅谈ITIL TIL即IT ...
- ChesFrame框架介绍
一直以来想写一个框架,想达到的目的: 1.对曾经做过项目的总结 2.节约构建系统的成本,不用每次都从零开始做起 3.写框架并在使用中不断的完善框架,这也是个积攒过程. 经历了一个多月的时间,一个基本的 ...
- .net 计算当前时间距离今晚00:00:00还有多少分多少秒
string dateDiff = null; DateTime DateTime1 = DateTime.Now; //第二天的0点00分00秒 DateTime DateTime2 = DateT ...
- 简单实现图片间的切换动画 主要用到ViewPager
简单实现图片间的切换动画 主要用到ViewPagerViewPager是android扩展包v4包中的类,这个类可以让用户左右切换当前的view.ViewPager类需要一个PagerAdapter适 ...
- Android中使用PullToRefreshListView遇到的问题
1.布局文件中要是设置visible属性为Gone的时候,注意了,这样会有一个bug,在代码中setVisible的时候设置为VISIBLE是不起作用的..这个应该是自身的一个小bug(本人目前没有找 ...