本次实验是在LNMP架构——php+nginx+mysql源码编译搭建lnmp环境基础上进行的,lnmp架构已经搭建好,接下来我将以搭建论坛并且客户使用论坛为例,演示整个过程。
lnmp架构的整个访问过程如下:
用户从前端页面开始访问
先到达nginx,由nginx判断是静态资源还是动态页面请求
如果是静态资源,nginx直接给客户
如果是动态页面,nginx会通过fastcgi去找php,牵扯到数据的话还会与mysql交互
两个服务之间的关系是通过套节字关联起来的:
用户通过访问php(套节字文件)动态页面向nginx(套节字文件)服务器发送请求
nginx服务器发现是动态资源,就会去加载数据库,然后向后台的数据库写入数据
二、搭建Discuz论坛
实验环境
主机名 | ip | 服务 |
---|---|---|
server1 | 172.25.1.101 | lnmp,Discuz |
真机 | 172.25.1.250 | 测试,客户端 |
在server1虚拟机上:
步骤一:在网上下载Discuz安装包
步骤二:下载解压工具
yum install unzip -y
步骤三:解压压缩包
直接解压在nginx的发布目录下,按照部署说明配置好之后,在浏览器就可以搜索到Discuz界面,开始搭建论坛
unzip Discuz_X3.2_SC_UTF8.zip -d /usr/local/lnmp/nginx/html/
步骤四:进入指定解压后的目录,查看说明文档
cd /usr/local/lnmp/nginx/html/
步骤五:开启nginx,php-fpm服务
nginx
ps aux | grep nginx
/etc/init.d/php-fpm start
netstat -antuple
在真机上测试:
进入浏览器,搜索http://172.25.1.101/upload,开始部署论坛
解决:提示给文件权限
cd /usr/local/lnmp/nginx/html/upload/
chmod 777 config -R
chmod 777 data -R
chmod 777 uc_* -R
刷新界面:
上述报错解决:需要修改配置文件
vim /usr/local/lnmp/php/etc/php.ini #修改配置文件,添加如下内容
1013 pdo_mysql.default_socket= /usr/local/lnmp/mysql/data/mysql.sock
1162 mysql.default_socket = /usr/local/lnmp/mysql/data/mysql.sock
1221 mysqli.default_socket = /usr/local/lnmp/mysql/data/mysql.sock
/etc/init.d/php-fpm reload #重新加载php
刷新界面:
上述报错,是因为nginx用户 对于 /usr/local/lnmp/mysql/data 目录没有权限,更改目录权限为:755
chmod 755 /usr/local/lnmp/mysql/data/
刷新界面:
admin登陆成功,点击管理中心,发现报错:Please delete install/index.php via FTP!
解决:
cd /usr/local/lnmp/nginx/html/upload/install/
rm -fr index.php
刷新界面:
至此,论坛就已经完全搭建好了,我们可以创建一个用户
在server1上查看:
mysql -uroot -predhat
mysql> show databases;
mysql> use database;
mysql> show tables;
mysql> select * from pre_ucenter_members;
可以看出,客户端注册的用户信息通过nginx和php将数据写入了mysql数据库当中。