安装包下载地址: nginx: download
安装nginx服务
将下载好的nginx安装包上传到自己的虚拟机,这里我使用的虚拟机地址是192.168.59.30
关闭防火墙关闭selinux
#关闭防火墙
[root@ansible-leader ~]$systemctl stop firewalld.service
[root@ansible-leader ~]$systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
#关闭selinux
[root@ansible-leader ~]$cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
解压安装包
[root@ansible-leader /zpf]$tar xf nginx-1.22.1.tar.gz
安装nginx依赖包
[root@ansible-leader /usr/lib/systemd/system]$yum install zlib zlib-devel gcc pcre-devel pcre openssl openssl-devel -y
#检查依赖安装结果
[root@ansible-leader /usr/lib/systemd/system]$rpm -qa|grep zlib
zlib-1.2.7-21.el7_9.x86_64
zlib-devel-1.2.7-21.el7_9.x86_64
[root@ansible-leader /usr/lib/systemd/system]$rpm -qa|grep gcc
gcc-4.8.5-44.el7.x86_64
libgcc-4.8.5-44.el7.x86_64
gcc-c++-4.8.5-44.el7.x86_64
[root@ansible-leader /usr/lib/systemd/system]$rpm -qa|grep pcre
pcre2-10.23-2.el7.x86_64
pcre-8.32-17.el7.x86_64
pcre-devel-8.32-17.el7.x86_64
[root@ansible-leader /usr/local/nginx/conf]$rpm -qa|grep ssl
openssl-devel-1.0.2k-26.el7_9.x86_64
openssl-libs-1.0.2k-26.el7_9.x86_64
openssl-1.0.2k-26.el7_9.x86_64
进入解压后的nginx目录执行编译安装操作
#指定安装路径 检查依赖
[root@ansible-leader /zpf/nginx-1.22.1]$./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
...
[root@ansible-leader /zpf/nginx-1.22.1]$make
...
[root@ansible-leader /zpf/nginx-1.22.1]$make install
创建系统启动脚本
[root@ansible-leader /usr/lib/systemd/system]$cat /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx - web server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
#这里说明下,service中的路径都是nginx编译安装的路径.相关命令和文件是在这些路径中找到.
启动nginx验证服务安装状况.
[root@ansible-leader /usr/lib/systemd/system]$systemctl start nginx.service