背景
做个自己的博客,装个ngxin用于部署博客静态资源以及做个接口的代理。
以下仅记录个人nginx的安装过程以及出现问题以及解决方式。
下载nginx包
个人喜欢手动下载nginx包,然后通过ftp软件拉取到服务器目录,然后通过命令去解压、编译、安装等。
安装系统: centos 8
nginx下载地址:nginx.org/en/download… 目前 Stable version是1.22.1。
下载后直接拖到 /usr/local
目录。
解压nginx
通过控制台进入到/usr/local
.然后执行
tar -zxvf nginx-1.22.1.tar.gz
解压后我喜欢直接将目录改为nginx.
编译安装
进入nginx目录
cd /usr/local
编译
make
安装
make install
以上步骤就安装完成了。
可以通过以下几个命令测试nginx的启动、重载和停止。
/usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx -s reload
/usr/local/nginx/sbin/nginx -s stop
设置开机启动
如果创建通过systemctl
命令进行启动关闭和开机启动等,可以如下操作:
进入/usr/lib/systemd/system
创建nginx.service
然后将以下内容复制粘贴到文件中,其中路径等根据自己的安装方式进行修改:
[Unit]
Description=nginx - web server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/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=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
创建完成后通过systemctl daemon-reload
重载一下,然后后面就可以通过如下命令执行了:
systemctl enable nginx.service` // 开机自启
systemctl start nginx.service // 启动服务
systemctl disable nginx.service //停止开机自起
systemctl status nginx.service //查看服务状态
systemctl restart nginx.service // 重启服务
问题
报错: nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
解决步骤
1. 杀死 nginx进程
2. 打开 nginx.conf, 打开注释: #pid logs/nginx.pid;
3. 执行 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf