写一个shell脚本把nginx注册成系统服务开机自启动
时间: 2023-05-22 16:05:03 浏览: 203
可以使用以下的 shell 脚本将 nginx 注册为系统服务,并实现开机自启动功能:
1. 创建一个新文件 "/etc/systemd/system/nginx.service",并将以下内容写入该文件中:
[Unit]
Description=nginx service
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
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
2. 保存该文件,并且执行以下命令来启动该服务,并且实现开机自启动:
systemctl daemon-reload
systemctl enable nginx.service
systemctl start nginx.service
通过以上步骤,就可以成功将 nginx 注册为系统服务,实现开机自启动的功能。
相关问题
帮我写一个nginx的自动源码安装shell脚本
以下是一个简单的Nginx自动源码安装的Shell脚本,仅供参考:
```bash
#!/bin/bash
NGINX_VERSION="1.20.1" #Nginx版本号
NGINX_INSTALL_DIR="/usr/local/nginx" #Nginx安装路径
#安装依赖库
yum -y install pcre-devel openssl-devel zlib-devel gcc make
#下载Nginx源码包
wget http://nginx.org/download/nginx-$NGINX_VERSION.tar.gz
#解压源码包
tar -zxvf nginx-$NGINX_VERSION.tar.gz
#进入源码目录
cd nginx-$NGINX_VERSION
#编译安装Nginx
./configure --prefix=$NGINX_INSTALL_DIR --with-http_ssl_module
make && make install
#添加Nginx服务
cat > /usr/lib/systemd/system/nginx.service <<EOF
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=$NGINX_INSTALL_DIR/logs/nginx.pid
ExecStartPre=$NGINX_INSTALL_DIR/sbin/nginx -t -c $NGINX_INSTALL_DIR/conf/nginx.conf
ExecStart=$NGINX_INSTALL_DIR/sbin/nginx -c $NGINX_INSTALL_DIR/conf/nginx.conf
ExecReload=$NGINX_INSTALL_DIR/sbin/nginx -s reload
ExecStop=$NGINX_INSTALL_DIR/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
#重新加载systemd服务
systemctl daemon-reload
#启动Nginx服务
systemctl start nginx
#设置Nginx开机自启动
systemctl enable nginx
```
该脚本主要实现了以下功能:
1. 安装Nginx所需的依赖库,包括pcre-devel、openssl-devel、zlib-devel、gcc和make。
2. 下载Nginx的源码包,并解压到指定目录。
3. 进入源码目录,执行configure命令配置Nginx的安装路径和编译选项,然后执行make和make install命令进行编译和安装。
4. 添加Nginx服务,并启动Nginx服务。
5. 设置Nginx开机自启动。
需要注意的是,该脚本仅供参考,具体情况需要根据实际需求进行修改。同时,安全性也需要考虑,例如对安装路径和Nginx服务进行权限控制等。
自动安装nginx 的 shell脚本
当然,我可以为您介绍一下自动安装Nginx的Shell脚本。以下是一个示例脚本:
```shell
#!/bin/bash
# 安装依赖
apt-get update
apt-get install -y curl gnupg2 ca-certificates lsb-release
# 添加Nginx官方仓库的GPG密钥
echo "deb http://nginx.org/packages/mainline/debian $(lsb_release -cs) nginx" \
| tee /etc/apt/sources.list.d/nginx.list
curl -fsSL https://nginx.org/keys/nginx_signing.key | apt-key add -
# 更新软件包列表并安装Nginx
apt-get update
apt-get install -y nginx
# 启动Nginx服务
systemctl start nginx
# 设置Nginx开机自启动
systemctl enable nginx
```
这个脚本首先更新软件包列表并安装了一些依赖项,然后添加了Nginx官方仓库的GPG密钥,并更新软件包列表并安装了Nginx。最后,启动了Nginx服务并设置了开机自启动。
请注意,这只是一个简单的示例脚本,您可能需要根据您的具体需求进行修改和定制。另外,确保在执行脚本之前具备足够的权限。
阅读全文