文章目录
前言
一. LNMP的介绍
二. 什么是Fast-CGI
三. 部署实战
- 安装php和mysql
- nginx和php的结合
a. 编译nginx
b. 配置nginx与php的结合
c. 重启nginx让配置生效
d. 配置index.php测试
总结
前言
之前我们学习了架构LAMP的搭建,编译和yum的方式都有学习过,今天我们来探讨下LNMP的部署,只是把apache换成了nginx,所以还算比较简单
一. LNMP的介绍
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
- Linux: 我们一般用的比较多的是redhat,centos, ubuntu
- Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
- Mysql是一个小型关系型数据库管理系统。
- PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。
二. 什么是Fast-CGI
Fast-CGI是一个可伸缩的、高速的在HTTP server和动态脚本语言间通信的接口。多数流行的HTTP server都支持Fast-CGI,包括Apache、Nginx和lighttpd等。同时,Fast-CGI也被许多脚本语言支持,其中就有PHP。
Fast-CGI是从CGI发展改进而来的。传统CGI接口方式的主要缺点是性能很差,因为每次HTTP服务器遇到动态程序时都需要重新启动脚本解析器来执行解析,然后将结果返回给HTTP服务器。这在处理高并发访问时几乎是不可用的。另外传统的CGI接口方式安全性也很差,现在已经很少使用了
FastCGI接口方式采用C/S结构,可以将HTTP服务器和脚本解析服务器分开,同时在脚本解析服务器上启动一个或者多个脚本解析守护进程。当HTTP服务器每次遇到动态程序时,可以将其直接交付给Fast-CGI进程来执行,然后将得到的结果返回给浏览器。这种方式可以让HTTP服务器专一地处理静态请求或者将动态脚本服务器的结果返回给客户端,这在很大程度上提高了整个应用系统的性能。
三. 部署实战
1. 安装php和mysql
[root@gaosh-1 ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)
[root@gaosh-1 ~]#
[root@gaosh-1 ~]# yum install mysql mysql-server php php-mysql php-fpm
2. nginx和php的结合
a. 编译nginx
关于编译的内容,在之前的文章里有写过,详细的内容可以参考:
【Linux】循序渐进学运维-服务篇-nginx入门
yum -y install gcc gcc-c++ pcre-devel openssl-devel wget
[root@gaosh-1 ~]# wget http://nginx.org/download/nginx-1.12.2.tar.gz
[root@gaosh-1 ~]# tar xf nginx-1.12.2.tar.gz
[root@gaosh-1 ~]# cd nginx-1.12.2
[root@gaosh-1 nginx-1.12.2]# ./configure --prefix=/usr/local/nginx
[root@gaosh-1 nginx-1.12.2]# make && make install
[root@gaosh-1 nginx-1.12.2]# ln -sv /usr/local/nginx/sbin/nginx /usr/bin/nginx
"/usr/bin/nginx" -> "/usr/local/nginx/sbin/nginx"
[root@gaosh-1 nginx-1.12.2]# nginx
b. 配置nginx与php的结合
上图图片的内容文字版:
server {
listen 80;
server_name localhost;
location / {
root /www/zmgaosh;
index index.php index.html index.htm;
}
location ~ \.php$ {
root /www/zmgaosh;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
c. 重启nginx让配置生效
[root@gaosh-1 ~]# /usr/local/nginx/sbin/nginx -s stop
[root@gaosh-1 ~]# nginx
[root@gaosh-1 ~]# /etc/init.d/php-fpm start #启动php-fpm
正在启动 php-fpm: [确定]
[root@gaosh-1 ~]#
d. 配置index.php测试
[root@gaosh-1 ~]# mkdir -p /www/zmgaosh
[root@gaosh-1 ~]# vim /www/zmgaosh/index.php
[root@gaosh-1 ~]# cat !$
cat /www/zmgaosh/index.php
<?php
phpinfo();
?>
总结
以上就是LNMP架构部署的所有内容,其实相对于apache来讲更容易一些。
本文转自 ID: 互联网老辛 更多内容关注公众号《极客运维之家》,扫码添加: