一、开机自启动
1、编辑 vi /lib/systemd/system/nginx.service
文件,没有创建一个 touch nginx.service 然后将如下内容根据具体情况进行修改后,添加到nginx.service文件中:
[Unit]
Description=nginx
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/var/run/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=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
[Unit]
:服务的说明Description
:描述服务After
:描述服务类别[Service]
:服务运行参数的设置Type=forking
:是后台运行的形式ExecStart
:为服务的具体运行命令ExecReload
:为重启命令ExecStop
:为停止命令PrivateTmp=True
:表示给服务分配独立的临时空间
2、注意:[Service]
的启动、重启、停止命令全部要求使用绝对路径。
[Install]
运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
。
保存退出。
3、设置开机启动,使配置生效:
# 启动nginx服务
systemctl start nginx.service
# 停止开机自启动
systemctl disable nginx.service
# 查看服务当前状态
systemctl status nginx.service
# 查看所有已启动的服务
systemctl list-units --type=service
# 重新启动服务
systemctl restart nginx.service
# 设置开机自启动
systemctl enable nginx.service
# 输出下面内容表示成功了
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
二、日常运维
1、在CentOS 7或RHEL 7或Fedora中防火墙由 firewalld 来管理
# 传统命令
systemctl stop firewalld
systemctl mask firewalld
2、企业级防火墙有iptables来管理
# 安装命令
yum install iptables-services
systemctl enable iptables
service iptables restart
3、关闭防火墙,或者添加防火墙规则就可以测试了
service iptables stop
4、或者编辑配置文件:
vi /etc/sysconfig/iptables
5、添加这样一条开放80端口的规则后保存:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
6、重启服务即可:
service iptables restart
# 命令进行查看目前nat
iptables -t nat -L
三、服务管理
# 启动
/usr/local/nginx/sbin/nginx
# 重启
/usr/local/nginx/sbin/nginx -s reload
# 关闭进程
/usr/local/nginx/sbin/nginx -s stop
# 平滑关闭nginx
/usr/local/nginx/sbin/nginx -s quit
# 查看nginx的安装状态,
/usr/local/nginx/sbin/nginx -V