文章目录
- Nginx服务基础
- ◆编译安装
- ◆运行控制优化
Nginx服务基础
●在各种网站服务器软件中, 除了Apache HTTP Server 外, 还有一款轻量级的 HTTP
服务器软件——Nginx, 由俄罗斯的 lgor Sysoev 开发, 其稳定、高效的特性逐渐被越来越
多的用户认可。本章将讲解nginx服务的基本构建、访问控制方式、虚拟主机的搭建,还有应
用广泛的 LNMP 架构服务器的部署方式,并对PHP_FPM模块如何支持PHP语言进行讨论。
●Nginx (发音为[engine x])专为性能优化而开发,其最知名的优点是它的稳定性和低系
统资源消耗以及对 HTTP 并发连接的高处理能力 (单台物理服务器可支持30 000~ 50 000个并
发请求) 。正因为如此,大量提供社交网络、新闻资讯、电子商务及虚拟主机等服务的
企业纷纷选择Nginx来提供Web服务。
◆编译安装
编译安装Nginx 1.15 安装及运行控制##试验环境: CentOS 7.6 Nginx 1.15 关闭防火墙、核心防护###
##1.1软件支持##Nginx的配置及运行需要pcre, zlib等软件包的支持,因此应预先安装这些软件的开发包
(devel) ,以便提供相应的库和头文件,确保 Nginx 的安装顺利完成
##安装环境
[root@localhost ~# yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl \
zlib-devel# Nginx服务程序默认以nobody身份运行,建议为其创建专门的用户账号,以便更准确地控制
#其访问权限,增加灵活性、降低安全风险。例如,创建一个名为nginx的用户,不建立宿主文件夹,
#也禁止登录到Shell环境。[root@localhost ~]# useradd -M -s /sbin/nologin nginx
#有了指定用户之后,就可以在编译安装过程就可以 去指定 user和group#[root@localhost ~]#cd /opt
[root@localhost ~]# wget https://nginx.org/download/nginx-1.15.9.tar.gz[root@localhost opt]# tar xzvf nginx-1.15.9.tar.gz
[root@localhost opt]# cd nginx-1.15.9#根据要求编译安装模块
[root@localhost nginx-1.15.9]#
./configure \
--prefix=/usr/local/nginx \ 指定安装路径
--user=nginx \ 指定用户
--group=nginx \ 指定组
--with-http_stub_status_module [root@localhost nginx-1.15.9]# make && make instal##1.3路径优化##
#为了使 Nginx 服务器的运行更加方便, 可以为主程序 nginx 创建链接文件, 以便管理员
直接执行 "nginx" 命令就可以调用Nginx的主程序[root@localhost nginx-1.15.9]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@localhost nginx-1.15.9]# ls -l /usr/local/sbin/nginx#优化结束,可以敲一下原来属于/usr/local/nginx/sbin/nginx下的命令试试
[root@localhost nginx-1.15.9]# 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#最小安装需要 yum -y install net-tools
[root@localhost nginx-1.15.9]# nginx 开启nginx服务
[root@localhost nginx-1.15.9]# netstat -anpt | grep nginx
tcp 0 0.0.0.0.0:80 0.0.0.0:* LISTEN 11191/nginx: master[root@localhost nginx-1.15.9]# yum -y install lynx
[root@localhost nginx-1.15.9]# lynx 127.0.0.1#访问成功说明安装成功了
#下面为原始命令开启与关闭服务
[root@localhost ~]# yum -y install psmisc ###最小没有killall令需要安装
[root@localhost ~]# killall -s HUP nginx ###选项-s HUP等同于-1 重新加载
[root@localhost ~]# killall -s QUIT nginx ###选项-s QUIT等同于-3 停止服务
[root@localhost ~]# netstat -anpt | grep nginx ###过滤看下
◆运行控制优化
#为了使Nginx服务的启动、停止、重载等操作更加方便,可以编写基于CentOs 7.6的
Nginx服务控制文件使用systemctl工具来进行管理.CentOS7.6系统的管理习惯[root@localhost ~]# vi /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#为什么754?给了执行权限就可以执行systemctl enable nginx.service了
[root@localhost ~]# chmod 754 /lib/systemd/system/nginx.service
[root@localhost ~]# systemctl enable nginx.service#检查通过systemctl命令能否正常启动、停止、重启、重载Nginx服务
[root@localhost ~]# netstat -anutp | grep nginx
#这里我们发现服务是关闭的[root@localhost ~# systemctl start nginx
[root@localhost ~]# netstat -anutp | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:1 LISTEN 11410/nginx: maste
#过滤出来说明服务启动,控制优化完成
#这时候用自己的电脑访问一下