一、宝塔打不开
宝塔
是一个非常方便的控制面板,不过用宝塔
时,偶尔遇见重启了下服务器宝塔就再也进不去了,其实是因为Linux系统自带防火墙给宝塔的端口给默认拦截了,这玩意儿该用的时候没卵用,不需要的时候就净出来添乱,所以还是关了的好,用服务器防火墙就够了。
centos7永久关闭防火墙
systemctl stop firewalld.service
systemctl status firewalld.service
# 查看状态后可以看到Acive状态已经变成了 disavtive(dead)
systemctl disable firewalld.service
现在,防火墙就永久关闭了。
二、Docker启动报错
有时启动docker
时会提示iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport
,然后又有什么 500 错误状态码,反正看起来挺唬人的。
其实,根本就没有什么大问题,你要去到处改配置文件改死也没有用,重启下docker服务就行了= =
systemctl restart docker
三、服务开机自启
CentOS7的服务systemctl脚本存放在:/usr/lib/systemd/
,有系统(system)和用户(user)之分,需要开机不登陆就能运行的程序,存在系统服务里,即:/usr/lib/systemd/system
目录下.
CentOS7的每一个服务以.service结尾,一般会分为3部分:[Unit]、[Service]和[Install]
[Unit]部分主要是对这个服务的说明,内容包括Description和After,Description 用于描述服务,After用于描述服务类别
[Service]部分是服务的关键,是服务的一些具体运行参数的设置.
Type=forking是后台运行的形式,
User=users是设置服务运行的用户,
Group=users是设置服务运行的用户组,
PIDFile为存放PID的文件路径,
ExecStart为服务的具体运行命令,
ExecReload为重启命令,
ExecStop为停止命令,
PrivateTmp=True表示给服务分配独立的临时空间
注意:
[Service]部分的启动、重启、停止命令全部要求使用绝对路径,使用相对路径则会报错!
[Install]部分是服务安装的相关设置,可设置为多用户的
首先,使用systemctl start [ 服务名(也是文件名) ]
可测试服务是否可以成功运行,如果不能运行则可以使用systemctl status [ 服务名(也是文件名) ]
查看错误信息和其他服务信息,然后根据报错进行修改,直到可以start,如果不放心还可以测试restart和stop命令。
接着,只要使用systemctl enable xxxxx
就可以将所编写的服务添加至开机启动即可。
实例:cloudreve私有云盘配置后台运行
1、在/usr/lib/systemd/system目录下创建一个服务cloudreve.service
通过vi打开服务配置:
vi /usr/lib/systemd/system/cloudreve.service
输入如下内容:
[Unit]
Description=Cloudreve
Documentation=https://docs.cloudreve.org
After=network.target
Wants=network.target
[Service]
Type=simple
WorkingDirectory=/home/software/cloudreve
ExecStart=/home/software/cloudreve/cloudreve
Restart=on-abnormal
RestartSec=5s
KillMode=mixed
StandardOutput=null
StandardError=syslog
[Install]
WantedBy=multi-user.target
2、更新重启服务
# 更新配置
systemctl daemon-reload
# 启动服务
systemctl start cloudreve
# 设置开机启动
systemctl enable cloudreve
3、管理命令
# 启动服务
systemctl start cloudreve
# 停止服务
systemctl stop cloudreve
# 重启服务
systemctl restart cloudreve
# 查看状态
systemctl status cloudreve