Centos 7编译安装Nginx
Centos 7和Centos 8编译安装Nginx
第一步:防火墙开启80端口或关闭防火墙
开启防火墙的80端口(防火墙已关闭的可以跳过这一步)
使用firewall-cmd开启防火墙80端口,指令如下所示
firewall-cmd --zone=public --add-port=80/tcp --permanent
开启后需要更新防火墙规则才能生效,指令如下所示
firewall-cmd --reload
其中命令参数含义为:
zone | 作用域 |
add-port | 添加端口 |
permanent | 永久生效 |
reload | 重新加载 |
关闭防火墙(开启了防火墙的80端口,不用执行关闭防火墙)
使用systemctl命令关闭防火墙,指令如下所示
systemctl stop firewalld.service
其中stop是停止/关闭的意思。
第二步:下载Nginx的压缩包
使用wget命令下载Nginx-1.17.6.tar.gz的压缩文件,指令如下所示
wget http://nginx.org/download/nginx-1.17.6.tar.gz -P /usr/local/
如果对版本有需求请根据自己的需求下载自己需要的版本,这是Nginx官网的下载地址–>Nginx官网
第三步:安装Nginx所需要的环境
使用yum命令下载Nginx所需的环境,指令如下所示
yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
Nginx安装的环境有:
gcc | 开源的编译器 |
PCRE | PCRE是一个Perl库,包括 perl 兼容的正则表达式库 |
zlib | zlib库提供了很多种压缩和解压缩的方式 |
openssl | 支持SSL协议上传输HTTP |
第四步:解压Nginx的压缩包
使用tar命令解压tar.gz的压缩包,指令如下所示
cd /usr/local
tar -zxvf nginx-1.17.6.tar.gz
其中zxvf参数的含义为:
z | 通过gzip压缩或解压缩 |
x | 表示解压 |
v | 显示解压过程 |
f | 指定解压文件 |
第五步:配置Nginx
使用.configure命令配置Nginx,指令如下所示
cd /usr/local/nginx-1.17.6/
./configure --prefix=/usr/local/nginx
其中–prefix选项是配置安装的路径
第六步:编译安装Nginx
使用make进行编译,使用make install进行安装,指令如下所示
make && make install
其中&&为逻辑符号,如果命令make执行失败则不会执行make install,如果&&符号前面的make命令没有错误,则会继续执行符号后面的make install命令。
第七步:启动Nginx
启动nginx
/usr/local/nginx/sbin/nginx
在本地浏览器输入nginx服务器的ip地址,成功效果如下所示
其他命令
重新载入nginx配置文件
/usr/local/nginx/sbin/nginx -s reload
重启nginx
/usr/local/nginx/sbin/nginx -s reopen
停止nginx
/usr/local/nginx/sbin/nginx -s stop
如果觉得进入文件夹里管理nginx很麻烦想用systemctl的方式管理nginx,指令如下所示
在system的文件夹里创建一个nginx.service
vim /usr/lib/systemd/system/nginx.service
#写入内容如下
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target
写入完成后按Esc然后按Shift+:然后再输入wq回车即可保存并退出,如下图所示
设置开机启动
systemctl enable nginx.service
关闭之前启动的Nginx
pkill -9 nginx
重新加载nginx配置文件
systemctl daemon-reload
使用systemctl启动nginx服务
systemctl start nginx
查看nginx服务的运行状态
systemctl status nginx
显示running表示开启成功,如下图所示