CentOS安装配置Nginx
作者:mmseoamin日期:2023-12-21

一、从官网nginx.org下载Nginx:

CentOS安装配置Nginx,第1张

说明:

1)因为这是一个stable稳定版本。

2)Mainline version: 开发版;Stable version: 稳定版;Legacy versions: 早期版本;

3)我们肯定是要找最新的稳定版本。

二、上传到Linux中:

CentOS安装配置Nginx,第2张

不需要使用上传的方法,可以通过先复制链接地址,然后通过wget命令进行下载:

cd /usr/local/src
wget http://nginx.org/download/nginx-1.24.0.tar.gz

注意下/usr/local/src这个目录。

三、解压文件

tar -zxvf nginx-1.22.1.tar.gz

CentOS安装配置Nginx,第3张

四、编译安装Nginx:

因为是编译安装,所以需要安装编译器:

yum install -y gcc gcc-c++

1)安装Nginx的依赖包:

yum install -y pcre-devel openssl-devel

说明:pcre-devel 是为nginx模块,如rewrite提供正则表达式;

zlib-devel为Nginx模块如gzip提供数据压缩用的函数库;

openssl-devel:为Nginx模块如ssl提供密码算法,证书以及ssl协议等功能。

2)Nginx的编译安装:

添加www用户:

useradd -s /sbin/nologin -M www
./configure --prefix=/usr/local/nginx --with-http_ssl_module
./configure --prefix=/usr/local/nginx-1.24.0 --user=www --group=www --with-http_ssl_module --with-http_stub_status_module

说明:这个configure,我们添加了www用户,然后我们还增加了nginx状态的模块。监控的时候就能使用到。

说明:

./configure用于对即将安装的软件进行配置,检查当前环境是否满足安装软件的依赖关系。

configure是一个Shell脚本,执行它的作用是生成makefile文件。

[root@vm1 nginx-1.24.0]# file configure
configure: POSIX shell script, ASCII text executable
[root@vm1 nginx-1.24.0]#

--prefix是用于设置安装目录;

--with-http_ssl_module选项用于设置在Nginx中允许使用http_ssl_module模块的相关功能。

CentOS安装配置Nginx,第4张

 在目录中多了Makefile文件,这个文件会告诉我们怎么来编译nginx。

CentOS安装配置Nginx,第5张

3)通过make命令编译安装nginx:

make && make install

CentOS安装配置Nginx,第6张

make是编译,makeinstall是把生成的文件拷贝到指定的目录。

五、Nginx的启动与停止:

CentOS安装配置Nginx,第7张

启动之前,我们一定要检测下配置文件是否正确。这是一个自己的习惯。

/usr/local/nginx/sbin/nginx -t

 1)启动nginx:

/usr/local/nginx/sbin/nginx

CentOS安装配置Nginx,第8张

 启动命令:

cd /usr/local/nginx/sbin
./nginx

然后,我们可以看到有两个进程,一个是master进程,一个是worker进程。

打开的端口是80端口。

2)停止Nginx服务:

1)立即停止服务:

./nginx -s stop

2)也可以使用从容停止服务:

./nginx -s quit

3)通过kill 或者killall杀死进程:

kill Nginx主进程ID
killall nginx

说明:如果killall没有这个命令,可以使用yum install -y psmisc进行安装。

另外有几个命令也需要记住:

./nginx -s reload
./nginx -s reopen
./nginx -v
./nginx -t 

说明:

1)reload是重新加载配置文件;

2)reopen是重新打开配置文件;

3)-v是显示版本信息;

4)-t是检查当前配置文件是否正确;

另外一些配置:

1)添加到环境变量:

echo $PATH
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/nginx

说明:ln -s的第一个参数是源文件路径,第二个参数目标文件路径;

2)添加到系统服务:

vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx web service
Documentation=http://nginx.org/en/docs/
After=network.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
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=default.target
chmod 755 /usr/lib/systemd/system/nginx.service
启动: systemctl start nginx
停止: systemctl stop nginx
重启: systemctl restart nginx
重新加载配置文件: systemctl reload nginx
查看nginx状态: systemctl status nginx
开机启动: systemctl enable nginx

在这个过程中遇到一个问题。后来是将服务器重新启动,问题得到了解决。

然后我们通过curl命令查看nginx的状态:

CentOS安装配置Nginx,第9张

 说明: