在Redhat上如何通过源码安装Nginx

目录

步骤一:

1.准备工作

关闭防火墙

检查防火墙

步骤二:

1.下载最新版本的nginx源代码包

进入该目录

下载最新版本的nginx源代码包

2.解压源代码包

步骤三:

1.安装Nginx的依赖包

2.执行configure脚本生成编译配置文件Makefile

3.执行make命令编译源代码

4.执行make install 安装软件

5.测试nginx

步骤三:

1.停掉nginx

2.创建nginx.service文件

后续步骤:

停掉nginx

创建一个名为nginx的组账户

创建一个属于该组的同名用户,不允许该用户登录和创建主目录


步骤一:

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

[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

systemctl stop nginx

出于安全考虑,nginx不应以root身份运行,而应以普通用户和组的身份运行

创建一个名为nginx的组账户

groupadd nginx

创建一个属于该组的同名用户,不允许该用户登录和创建主目录

useradd -s /sbin/nologin -g nginx -M nginx

如何使用创建的用户启动nginx

根据上述设置usr/local/nginx 目录中,所以配置文件在/usr/local/nginx/conf目录下

vim /usr/local/nginx/conf/nginx.conf

找到user指令,并设置为之前创建的用户和组

保存退出

systemctl start nginx

检查Nginx进程的用户

ps -ef | grep nginx

小结

恭喜!现在你已经成功在Redhat上安装并配置了Nginx。你可以根据需要进一步自定义和配置Nginx以满足你的需求。祝你使用愉快!希望这篇博客能帮助到你!

  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值