前言
什么是LNMP架构
-
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
-
Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。
-
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
-
Mysql是一个小型关系型数据库管理系统。
-
PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。
LNMP架构的特点
- Nginx是一个小巧而高效的Linux下的Web服务器软件,是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler 站点开发的,已经在一些俄罗斯的大型网站上运行多年,相当的稳定。
- Nginx性能稳定、功能丰富、运维简单、处理静态文件速度快且消耗系统资源极少。
LNMP的优点
- 作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率。
- 作为负载均衡服务器:Nginx 既可以在内部直接支持Rails和PHP,也可以支持作为 HTTP代理服务器对外进行服务。Nginx 用C编写,不论是系统资源开销还是CPU使用效率都比Perlbal要好的多。
- 作为邮件代理服务器:Nginx同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last/fm 描述了成功并且美妙的使用经验。
- Nginx 安装非常的简单,配置文件非常简洁(还能够支持perl语法)。Nginx支持平滑加载新的配置,还能够在不间断服务的情况下进行软件版本的升级。
一、 Nginx编译安装过程
1.1.1 准备安装包,放进opt目录中
[root@server1 opt]# ll
总用量 207908
-rw-r--r--. 1 root root 83709983 3月 23 14:50 boost_1_59_0.tar.gz
-rw-r--r--. 1 root root 11875579 3月 23 14:46 Discuz_X3.4_SC_UTF8.zip
-rw-r--r--. 1 root root 51433090 3月 23 15:43 mysql-5.7.17.tar.gz
-rw-r--r--. 1 root root 48833145 3月 23 14:51 mysql-boost-5.7.20.tar.gz
-rw-r--r--. 1 root root 980831 3月 29 2021 nginx-1.12.0.tar.gz
-rw-r--r--. 1 root root 981687 3月 29 2021 nginx-1.12.2.tar.gz
-rw-r--r--. 1 root root 15069098 3月 23 14:48 php-7.1.10.tar.bz2
drwxr-xr-x. 2 root root 6 3月 26 2015 rh
1.1.2 关闭防火墙,核心防护
systemctl stop firewalld.service
setenforce 0
1.2 安装nginx环境依赖包
[root@server1 ~]# yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl \
zlib*
1.3 创建运行用户
Nginx服务程序默认以nobody身份运行,建议为其创建专门的用户账户,以更精确的控制访问权限,增加灵活性、降低安全风险。
[root@server1 ~]# useradd -M -s /sbin/nologin nginx
1.4 编译安装Nginx
安装目录在/usr/local/nginx,运行用户和组均为nginx,启用http_stub_status_module统计模块(统计多少人访问)
[root@server1 opt]# tar xf nginx-1.12.2
[root@server1 opt]# cd nginx-1.12.2
[root@server1 nginx-1.12.2]# ./configure \
> --prefix=/usr/local/nginx \
> --user=nginx \
> --group=nginx \
> --with-http_stub_status_module
[root@localhost nginx-1.12.2]# make && make install
1.5 路径的优化
为了使Nginx服务器的运行更加方便,可以为主程序nginx以及配置文件创建连接文件,以便管理员直接执行“nginx”命令就可以调用Nginx的主程序
[root@server1 ~]# ln -s /usr/local/nginx/conf/nginx.conf /etc/
[root@server1 ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
1.6 检查配置文件,并制作连接
与Apache的主程序httpd类似,Nginx的主程序也提供了“-t”选项用来对配置文件进行检查,以便找出不当或错误的配置。配置文件nginx.conf默认位于安装目录的conf/子目录中。若要检查位于其他位置的配置文件,可使用“-c”选项来指定路径。
[root@server1 ~]# ln -s /usr/local/nginx/conf/nginx.conf /etc/
[root@server1 ~]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
1.7 启动、停止Nginx
直接运行Nginx即可启动Nginx服务器,这种方式将使用默认的配置文件,若要改用其他配置文件,需添加“-c 配置文件路径”选项来指定路径。需要注意的是,若服务器中已装有httpd等其他Web服务软件,应采取措施(修改端口、停用或卸载)避免冲突。
[root@server1 ~]# nginx</