一 理论知识
(一)架构图
(二)CGI 由来
最早的Web服务器只能简单她响应浏览器发来的HTTP请求,并将存储在服务器上的HTML文件返回给浏览器,也就是静态html文件,但是后期随着网站功能增多网站开发也越来越复杂,以至于出现动态技术,比如像php(1995年)、java(1995)、python(1991)语言开发的网站,但是nginx/apache服务器并不能直接运行 php、java这样的文件,apache实现的方式是打补丁,但是nginx却通过与第三方基于协议实现,即通过某种特定协议将客户端请求转发给第三方服务处理,第三方服务器会新建新的洪程处理用户的遺求,处理完成后返回数据给Nginx并回收进程,最后nginx在返回给客户端,那这个约定就是通用网关接口(common gatewayinterface,简称CGI),CGI(协议)是web服务器和外部应用程序之间的接口标准,是cgi程序和web服务器之间传递信息的标准化接口。
(三)cgi 和fastcgi 区别
名称 | 在web服务器方面 | 在对数据进行处理的进程方面 |
cgi | fork一个新的进程进行处理 | 读取参数,处理数据,然后就结束生命期 |
fastcgi | 用tcp方式跟远程机子上的进程或本地进程建 立连接 | 要开启tcp端口,进入循环,等待数据的到来,处理数据 |
二, 搭建 LNMP 架构具体步骤
(一) 实验环境
准备安装 nginx mysql php 软件
(二)先装nginx
1, 先安装依赖包
2,创建程序用户
(Nginx 服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限)
3,解压 nginx 压缩包
4, ./configure 指明安装目录 和模块
5,make make install 安装
6,让系统识别nginx的操作命令可以自动补全
7,写 nginx 的systemctl 配置文件
8,systemctl 重新加载配置文件 加权限 开机自启
9,检测 nginx 正常
(三)编译安mysql
1,安装Mysql环境依赖包
2,解压 mysql 压缩包
3, 去到源码包 cmake 安装
4, make make install
有点慢 耐心等待
5,修改mysql 配置文件
6,更改mysql安装目录和配置文件的属主属组
7,设置路径环境变量
检查是否成功
8,初始化数据库
9, 添加mysqld系统服务
10 修改mysql 的登录密码
给root账号设置密码为abc123,提示输入的是原始密码(为空)要求输入的是原密码直接回车即可
11, 授权远程登录
(四) 编译安装php软件
1,安装环境依赖包
2,去到opt 解压php 压缩包
3, 去到php 源码包 ./configure
4, make make install
(此过程较长 可耐心等候 建议用多核编译 如make -j4)
make -j4 后 他会建议你测试 这个会有很多时间
这边我们不听建议 直接make install
5,路径优化
6, 调整PHP配置文件
php有三个配置文件:
php.ini 主配置文件
php-fpm.conf 进程服务配置文件
www.conf 扩展配置文件
6.1 调整主配置文件
tips: 配置文件很长 可以set nu 显示行号
再/ 搜索指定内容 想要跳到某一行 比如1170行 1170G
6.2 调整扩展配置文件
6.3 调整扩展配置文件
7, 启动php-fpm
#PHP-FPM(FastCGI Process Manager:FastCGI 进程管理器)是一个 PHPFastCGI 管理器, 由于Nginx服务器不能处理动态页面,需要由 Nginx 把动态请求交给 php-fpm 进程进行解析。
8, 把 php-fpm 交给system 管理
(五)配置 Nginx 支持 PHP 解析
1, 改主配置文件
将65 到71行取消注释
/usr/local/nginx/html$fastcgi_script_name;
将第69行 /scripts 修改为nginx的工作目录
将45行 默认文件格式 加上 index.php
2, 重启 nginx
3, 验证PHP 测试页
客户机访问php 测试页
(六)验证数据库工作是否正常
1,登录数据库
2,新建数据库用户,授权
新建数据库用户 bbsuser 密码是 admin123,并且授权bbsuser 可以 访问 bbs 数据库中的所有资源
3, 替换原来的测试页内容
vim /usr/local/nginx/html/index.php
4,客户机再次访问 测试页 出现access 即为成功
(七)安装论坛
1,解压 Discuz 压缩包
(这是社区论坛的web应用)
2, 复制论坛目录
3,调整论坛目录的权限
标出来的都要可写 可执行
4, 论坛安装
http://192.168.217.99/bbs/install/index.php
5 跟着步骤安装
5.1
5.2
5.3
注意:本地架设就用localhost,如何不是在在本机上就要填写IP地址和端口号
5.4 安装成功 以管理员身份登录
(八)安装博客
1,解压 博客的压缩包
2, 把博客 放到nginx 主页面,拉权限
3, 再建一个数据库账户
4, 访问安装主页面 开始安装
4.1 出现报错
4.2 去到 nginx 主页面下的 wordpress 按照指导手写一个配置文件
4.3 继续安装
4.4 成功