目录
7、检查通过systemctl命令能否正常 启动、停止、重启、重载 Nginx 服务
1、LNMP介绍
1、LNMP 指的是一个基于 CentOS/Debian 编写的 Nginx、Linux、MySQL、PHP,可以在独立主 机上轻松的安装 LNMP 生产环境。本案例主要介绍 LNMP 框架安装方法以及部署 Discuz!社 区论坛应用。
2、Nginx 作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率。Nginx 作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持作为 HTTP 代理服务器对外进行服务。Nginx 采用 C 语言进行编写,不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好的多。Nginx 作为邮件代理服务器:Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last/fm 描述了成功并且美妙的使用经验。Nginx 安装非常的简单,配置文件非常简洁(还能够支持 perl 语法)。Nginx 支持平滑加载新的配置,还能够在不间断服务的情况下进行软件版本的升级。
3、MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前被 Oracle 公司收购。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL 是较好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。MySQL 是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
4、PHP-FPM(FastCGI Process Manager:FastCGI 进程管理器)是一个 PHPFastCGI 管理器,由于 Nginx 服务器不能处理动态页面,需要由 Nginx 把动态请求交给 php-fpm 处理。
FastCGI:FastCGI是一个可伸缩地、高速地在HTTP服务器和动态脚本语言间通信的接口(FastCGI接口在Linux下是socket(可以是文件socket,也可以是ip socket)),主要优点是把动态语言和HTTP服务器分离开来。多数流行的HTTP服务器都支持FastCGI,包括Apache、Nginx和lightpd。 FastCGI:作用:把动态语言和HTTP分离开来,动静分离
2、LNMP架构的部署
2.1 部署思路
●安装 Nginx 服务
●安装 MySQL 服务
●安装配置 PHP 解析环境
●部署 Discuz!社区论坛 Web 应用
2.2 安装 Nginx 服务
1、安装环境依赖包
注意关闭防火墙、核心防护
yum -y install gcc gcc-c++ pcre-devel zlib-devel make
2、创建运行用户、组
useradd -M -s /sbin/nologin nginx
3、编译安装Nginx
事先需要先上传nginx-1.15.9.tar.gz软件包至/opt目录
cd /opt
tar xzvf nginx-1.15.9.tar.gz
cd nginx-1.15.9
#configure 一种配置工具
./configure \
--prefix=/usr/local/nginx \ #工作目录(解压到哪个目录)
--user=nginx \ #管理服务的用户是谁
--group=nginx \ #管理服务的组是什么
--with-http_stub_status_module #集成HTTP请求的一些状态统计模块
make && make install #进行编译
4、路径优化
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
5、检查配置文件
nginx -t
6、启动、停止Nginx
方法一:
#PS:此处是启动方式之一,下面还可以通过配置,利用systemctl来控制,
nginx #直接进行启动
killall -s HUP nginx ###选项 -s HUP 等同于 -1 重新加载 systemctl reload nginx
killall -s QUIT nginx ###选项 -s QUIT 等同于 -3 停止服务 systemctl stop nginx
方法二: 添加 Nginx 系统服务
#PS当通过kill方式启动Nginx系统服务之后,需要先关闭,再使用systemctl启动。
vim /lib/systemd/system/nginx.service
###要刷配置参数##
[Unit]
Description=nginx ####描述
After=network.target ####描述服务类别
[Service]
Type=forking ###后台运行形式
PIDFile=/usr/local/nginx/logs/nginx.pid ###PID文件位置
ExecStart=/usr/local/nginx/sbin/nginx ###启动服务
ExecReload=/usr/bin/kill -s HUP $MAINPID ###根据PID重载配置
ExecStop=/usr/bin/kill -s QUIT $MAINPID ###根据PID终止进程
PrivateTmp=true
[Install]
WantedBy=multi-user.target
chmod 754 /lib/systemd/system/nginx.service #给予权限
systemctl enable nginx.service