CentOS7+Nginx设置Systemctl restart nginx.service服务

centos 7以上是用Systemd进行系统初始化的,Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度。关于Systemd的详情介绍在这里

Systemd服务文件以.service结尾,比如现在要建立nginx为开机启动,如果用yum install命令安装的,yum命令会自动创建nginx.service文件,直接用命令

1
systemcel enable nginx.service

设置开机启动即可。
在这里我是用源码编译安装的,所以要手动创建nginx.service服务文件。
开机没有登陆情况下就能运行的程序,存在系统服务(system)里,即:

1
/lib/systemd/ system /

1.在系统服务目录里创建nginx.service文件

1
vi /lib/systemd/ system /nginx.service

内容如下

1
2
3
4
5
6
7
8
9
10
11
12
13
[Unit]
Description=nginx
After=network.target
  
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp= true
  
[Install]
WantedBy=multi-user.target

[Unit]:服务的说明
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

保存退出。

2.设置开机启动

1
systemctl enable nginx.service

3.其他命令

启动nginx服务

设置开机自启动

停止开机自启动

查看服务当前状态

重新启动服务

查看所有已启动的服务

### 解决 Nginx 服务无法通过 `systemctl` 命令启动的问题 当遇到 `Failed to start nginx.service: Unit not found.` 错误时,这通常意味着系统找不到名为 `nginx.service` 的 systemd 单元文件。以下是几种可能的原因及解决方案: #### 检查 Nginx 是否已安装 如果 Nginx 尚未安装,则不会存在相应的 service 文件。 ```bash rpm -qa | grep nginx # 对于基于 RPM 的系统如 CentOS 或 Fedora dpkg -l | grep nginx # 对于基于 Debian 的系统如 Ubuntu 或 Debian ``` 若无任何输出表示 Nginx 并未被正确安装[^1]。 #### 验证 Service 文件位置 对于大多数 Linux 发行版,默认情况下 Nginxservice 文件位于 `/usr/lib/systemd/system/nginx.service` 或者 `/etc/systemd/system/nginx.service` 中。可以尝试手动查找该文件是否存在并具有正确的权限设置。 #### 启用 Nginx Service 即使已经成功安装了 Nginx,在首次使用前也需要启用其 service 才能正常工作。 ```bash sudo systemctl enable nginx.service ``` 此命令会创建必要的符号链接使得每次开机自动加载 Nginx 服务[^4]。 #### 更新 Systemd 缓存 有时更改配置后需要刷新 daemon 来使新的修改生效。 ```bash sudo systemctl daemon-reload ``` 执行上述操作后再试一次启动命令看看问题是否得到解决。 #### 容器化环境中的注意事项 如果是处于 Docker 或 LXC 这样的容器环境中,请确认当前使用的镜像确实包含了完整的 Nginx 及其初始化脚本。因为某些精简版本可能会缺少这些组件从而导致类似的错误消息出现[^2]。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值