Nginx源码安装1.25.4
目录
步骤一:
1.准备工作
关闭防火墙
systemctl stop firewalld
检查防火墙
systemctl status firewalld
步骤二:
1.下载最新版本的nginx源代码包
首先创建一个目录用于存放nginx源代码包
mkdir nginx
进入该目录
cd nginx
下载最新版本的nginx源代码包
wget https://nginx.org/download/nginx-1.25.4.tar.gz
//应该大于1.9.9的都行
2.解压源代码包
tar -xzvf nginx-1.25.4.tar.gz
跑完一大串后
进入该目录
cd nginx-1.25.4
步骤三:
1.安装Nginx的依赖包
C和C++编译环境
yum install gcc gcc-c++ -y
PCRE库
yum install pcre pcre-devel -y
OpenSSL库
yum install openssl openssl-devel -y
2.执行configure脚本生成编译配置文件Makefile
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module
–prefix=/usr/local/nginx 指定安装路径
–with-http_stub_status_module 表示支持Nginx状态查询
–with-http_ssl_module 表示启用SSL支持
–with-http_gzip_static_module 表示启用GZIP功能
3.执行make命令编译源代码
先下make
yum install make -y
执行make
make
4.执行make install 安装软件
make install
至此完成nginx的编译安装
5.测试nginx
如果安装了Apache服务先停止
systemctl stop http.service
打开nginx
根据上述设置,nginx安装在/usr/local/nginx 目录中
/usr/local/nginx/sbin/nginx
打开浏览器输入ip
重新加载配置
/usr/local/nginx/sbin/nginx -s reload
重启
/usr/local/nginx/sbin/nginx -s reopen
停止
/usr/local/nginx/sbin/nginx -s stop
退出
/usr/local/nginx/sbin/nginx -s quit
步骤三:
编写systemd单元文件管理nginx服务
通常在/usr/lib/systemd/system或/etc/systemd/system/目录下创建nginx.service文本文件
1.停掉nginx
/usr/local/nginx/sbin/nginx -s stop
2.创建nginx.service文件
vim /etc/systemd/system/nginx.service
添加以下内容
[Unit]
Description=The NGINX HTTP and reverse proxy 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=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
保存退出
要让systemd重新识别此单元文件,执行
systemctl daemon-reload
启动nginx
systemctl start nginx
随机启动
systemctl enable nginx
后续步骤:
出于安全考虑,nginx不应以root身份运行,而应以普通用户和组的身份运行
停掉nginx
systemctl stop nginx
创建一个名为nginx的组账户
groupadd nginx
创建一个属于该组的同名用户,不允许该用户登录和创建主目录
useradd -s /sbin/nologin -g nginx -M nginx
如何使用创建的用户启动nginx
根据上述设置nginx安装位置为/usr/local/nginx 目录,所以配置文件在/usr/local/nginx/conf目录下
vim /usr/local/nginx/conf/nginx.conf
找到user
指令,并设置为之前创建的用户和组
user nginx nginx;
保存退出
systemctl start nginx
检查Nginx进程的用户
ps -ef | grep nginx