我安装nginx的过程

83 阅读2分钟

背景

做个自己的博客,装个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