Linux安装Nginx二-基于源码编译安装

  • 作者: 凯哥Java(公众号:凯哥Java)
  • 工作小总结
  • 时间:2022-11-19 22:51
  • 2318人已阅读
简介 在上一篇文章中,Linux安装Nginx1-基于yum安装只是基于yum安装的。本篇,咱们就来讲讲基于源码编译安装nginx.Nginx源码包安装步骤相比其他安装方法比较繁琐,但是操作不复杂,需要提前安装一些Nginx依赖库。具体步骤:1依赖库安装1、安装gcc环境编译时依赖gcc环境yum -y install gcc gcc-c++ autoc

🔔🔔好消息!好消息!🔔🔔

 如果您需要注册ChatGPT,想要升级ChatGPT4。凯哥可以代注册ChatGPT账号代升级ChatGPT4

有需要的朋友👉:微信号 kaigejava2022

在上一篇文章中,Linux安装Nginx1-基于yum安装 只是基于yum安装的。本篇,咱们就来讲讲基于源码编译安装nginx.

Nginx 源码包安装步骤相比其他安装方法比较繁琐,但是操作不复杂,需要提前安装一些 Nginx 依赖库。

具体步骤:

1 依赖库安装

1、安装gcc环境

编译时依赖gcc环境

yum -y install gcc gcc-c++ autoconf automake make

cdb670f266425755c67758dc62589d67.png

2、安装 pcre

提供nginx支持重写功能

yum -y install pcre pcre-devel

41510bec75e3cbc7d2cd6abae91474e6.png

3、安装zlib

zlib 库提供了很多压缩和解压缩的方式,nginx 使用 zlib 对 http 包内容进行 gzip 压缩

yum -y install zlib zlib-devel make libtool

93ca55353e5113192b7fedc3506f6009.png

4、安装openssl

安全套接字层密码库,用于通信加密

yum -y install openssl openssl-devel

2 nginx 安装

手动创建用户和用户组

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

838eceab9ecbb20067dd6e036ae7ddaf.png官网下载:

wget https://nginx.org/download/nginx-1.20.2.tar.gz

7620ead956b4852f52f0e96e75adea09.png解压:

tar -zxvf nginx-1.20.2.tar.gz

编译目录:

cd nginx-1.20.2
# 检查平台安装环境
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --user=nginx --group=nginx

9f7b903b195ee5905c9cf05a2e78fc0d.png

参数说明:

–prefix=/usr/local/nginx

#编译安装目录

–user=nginx

#所属用户nginx

–group=nginx

#所属组nginx

–with-http_stub_status_module

#该模块提供nginx的基本状态信息

–with-http_ssl_module

# 支持HTTPS

编译源码并安装:

make			# 编译
make install  		# 安装

fe4d997a4b9a5b11916bf622f4d60d99.png

nginx编译完成以后,修改nginx.conf文件

使用nginx用户登录:

user nginx nginx;

如果切换不了。就忽略这一步

3 ningx操作

启动服务:

/usr/local/nginx/sbin/nginx

如果不知道Nginx在哪里?可以使用下面命令:

whereis nginx

bb9da86347a4f3c3ebbac38432baa05e.png

启动后,查看Nginx情况:

ps -ef | grep nginx

99276bf14d5094e2fd2f90ae61e83e37.png

查看Nginx的版本号:

/usr/local/nginx/sbin/nginx -V

ec8a4bc0274ae07a1d22d97267dca031.png

浏览器直接IP访问:

4d070d15f4a18dc25b14a3d90636d4ec.png

重启服务:

/usr/local/nginx/sbin/nginx -s reload

停止服务:

/usr/local/nginx/sbin/nginx -s stop

Nginx服务配置

目前Nginx都是通过命令执行的,在Nginx运行过程中,需要Nginx作为系统的服务运行。以systemctl命令运行服务。

配置服务文件:

vi /lib/systemd/system/nginx.service

配置信息:

[Unit]
Description=nginx 
After=network.target 
   
[Service] 
Type=forking 
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx reload
ExecStop=/usr/local/nginx/sbin/nginx quit
PrivateTmp=true 
   
[Install] 
WantedBy=multi-user.target

创建服务:

systemctl enable nginx.service

12d87ca367241b3fbd2a2a627ad77a1e.png

Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /usr/lib/systemd/system/nginx.service.

使用服务命令:

systemctl status nginx

e202f16cae56314e88440fc6718e7e7f.png

TopTop