目录
一,LNMP的简介
1,简介
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种组合架构。
Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian,centos,Ubuntu,fedora,gentoo等。这里用centos做实例。
nginx是一个高性能的HTTP和反向代理服务器。
Mysql是一个小型关系型数据库管理系统。
PHP是一种在服务器端执行的嵌入HTML文档的脚本语言(解析环境)。
这四种软件均为免费开源的软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。
2,特点
Nginx是一个小巧而高效的Linux下的Web服务器软件,是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler 站点开发的,已经在一些俄罗斯的大型网站上运行多年,相当的稳定。
Nginx性能稳定、功能丰富、运维简单、处理静态文件速度快且消耗系统资源极少。
3,优点
作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率。
作为负载均衡服务器:Nginx 既可以在内部直接支持Rails和PHP,也可以支持作为 HTTP代理服务器对外进行服务。Nginx 用C编写,不论是系统资源开销还是CPU使用效率都比Perlbal要好的多。
作为邮件代理服务器:Nginx同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last/fm 描述了成功并且美妙的使用经验。
Nginx 安装非常的简单,配置文件非常简洁(还能够支持prel语法)。Nginx支持平滑加载新的配置,还能够在不间断服务的情况下进行软件版本的升级。
二,LNMP配置
环境准备:本次在centos(linux)环境中安装配置
1,编译安装nginx
关闭防火墙和setenforce
[root@localhost opt]# systemctl stop firewalld
[root@localhost opt]# setenforce 0
将需要软件包拖进/opt目录下
[root@localhost opt]# rz -E
rz waiting to receive.
[root@localhost opt]# rz -E
rz waiting to receive.
[root@localhost opt]# rz -E
rz waiting to receive.
[root@localhost opt]# rz -E
rz waiting to receive.
[root@localhost opt]# ls
Discuz_X3.4_SC_UTF8.zip nginx-1.12.0.tar(1).gz
mysql-boost-5.7.20.tar.gz php-7.1.10.tar.bz2
安装nginx依赖包
[root@localhost opt]# yum -y install pcre-devel zlib-devel gcc gcc-c++ make
新建用户 组便于管理(nginx 服务程序默认 以 nobody 身份运行,建议为其创建专门的用户账户,以便更准确的控制访问权限)
[root@localhost opt]# useradd -M -s /sbin/nologin nginx
解压安装包并切换目录
[root@localhost opt]# ls
Discuz_X3.4_SC_UTF8.zip nginx-1.12.0.tar(1).gz
mysql-boost-5.7.20.tar.gz php-7.1.10.tar.bz2
[root@localhost opt]# tar zxf nginx-1.12.0.tar\(1\).gz
[root@localhost opt]# ls
Discuz_X3.4_SC_UTF8.zip nginx-1.12.0 php-7.1.10.tar.bz2
mysql-boost-5.7.20.tar.gz nginx-1.12.0.tar(1).gz
[root@localhost opt]# cd nginx-1.12.0/
[root@localhost nginx-1.12.0]#
编译安装Nginx
./configure \
--prefix=/usr/local/nginx \
#安装路径
--user=nginx \
#指定用户名
--group=nginx \
#指定用户组
--with-http_stub_status_module
#启用此模块支持状态统计
[root@localhost nginx-1.12.0]# ./configure \
> --prefix=/usr/local/nginx \
> --user=nginx \
> --group=nginx \
> --with-http_stub_status_module
[root@localhost nginx-1.12.0]# make && make install
建立软链接
[root@localhost nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
添加nginxsystemctl服务
[root@localhost nginx-1.12.0]# vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/bin/kill -s HUP $MAINPID
ExecStop=/usr/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
:wq