前言
- centos 通过yum命令安装nginx服务,并开放监听端口、设置开机自启等
1、 配置yum源并进行安装
如有其他版本需求的,可以跳转官网nginx: Linux packages,选取适合自己linux版本的方式,按照文档步骤进行安装
我自己的服务器是centos7.6,所以使用的是RHEL/CentOS的yum源方式进行安装
-
运行
yum info nginx
,如果找不到nginx软件的相关信息,则按照如下步骤进行,否则直接安装即可 -
运行命令,安装必备组件
yum install yum-utils -y
-
在yum存储库位置,创建
nginx.repo
文件,并将以下内容复制进文件中-
vi /etc/yum.repos.d/nginx.repo
-
[nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true [nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/ gpgcheck=1 enabled=0 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true
-
-
默认情况下,使用稳定nginx软件包的存储库,即
nginx-stable
。如果你想使用主线nginx软件包,请运行以下命令:- yum-config-manager --enable nginx-mainline
- 一般情况下忽略这一步骤,使用稳定的nginx即可
-
此时使用命令
yum info nginx
,已经可以看到nginx的软件信息了 -
这时候我们运行安装命令即可
yum install nginx
- 当系统提示您接受 GPG 密钥时,请验证指纹是否匹配,如果匹配,请接受它。
573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
2、nginx服务启动
使用yum源安装nginx,会自动把nginx加入linux的服务中,避免了手动加入的过程
-
这里第一次启动nginx请务必使用Linux的systemctl命令启动服务
systemctl start nginx
启动nginx服务systemctl status nginx
查看nginx运行状态
为什安装后第一次启动要用linux服务命令启动的说明:
- 如果安装后使用nginx自己的/usr/sbin/nginx命令启动,则nginx服务不会自动创建/var/run/nginx.pid文件,这个文件的作用是在使用/usr/sbin/nginx -s quit命令关闭nginx进程时,需要通过这个文件获取nginx进程的PID,进而关闭对应的nginx程序,这个文件不存在,则没法通过nginx命令关闭程序
- 如果在安装后不小心使用了/usr/sbin/nginx命令启动了nginx,则需要我们手动去执行kill -9命令关闭nginx相关进程,然后再通过systemctl start nginx命令启动nginx即可自动生成/var/run/nginx.pid文件
- 注意:即使我们在第一次启动时使用了/usr/sbin/nginx命令启动,nginx配置文件也会正常生效
-
设置nginx服务开机自启
-
systemctl enable nginx
允许开机自启 -
systemctl is-enabled nginx
查看nginx服务是否允许开机自启
-
-
最后,编辑nginx的相关配置文件,使用nginx命令重新加载服务即可
- 此时使用
systemctl restart nginx
或者/usr/sbin/nginx -s reload
命令都可以
- 此时使用
3、防火墙开放监听的端口
- centos7以上的版本会有selinux,需要关闭它
- 开放监听的8090端口
firewall-cmd --add-port=8090/tcp --permanent
#永久添加80端口例外(全局)firewall-cmd --remove-port=8090/tcp --permanent
#永久删除80端口例外(全局)
- 修改配置后,重启防火墙
firewall-cmd --reload
- 更多防火墙命令