前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux安装Nginx二-基于源码编译安装

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

作者头像
凯哥Java
发布2022-12-16 20:34:13
9280
发布2022-12-16 20:34:13
举报
文章被收录于专栏:凯哥Java凯哥Java

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

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

具体步骤:

1 依赖库安装

1、安装gcc环境

编译时依赖gcc环境

代码语言:javascript
复制
yum -y install gcc gcc-c++ autoconf automake make
cdb670f266425755c67758dc62589d67.png
cdb670f266425755c67758dc62589d67.png

2、安装 pcre

提供nginx支持重写功能

代码语言:javascript
复制
yum -y install pcre pcre-devel
41510bec75e3cbc7d2cd6abae91474e6.png
41510bec75e3cbc7d2cd6abae91474e6.png

3、安装zlib

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

代码语言:javascript
复制
yum -y install zlib zlib-devel make libtool
93ca55353e5113192b7fedc3506f6009.png
93ca55353e5113192b7fedc3506f6009.png

4、安装openssl

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

代码语言:javascript
复制
yum -y install openssl openssl-devel

2 nginx 安装

手动创建用户和用户组

代码语言:javascript
复制
groupadd nginx
useradd nginx -g nginx -s /sbin/nologin -M
838eceab9ecbb20067dd6e036ae7ddaf.png
838eceab9ecbb20067dd6e036ae7ddaf.png

官网下载:

代码语言:javascript
复制
wget https://nginx.org/download/nginx-1.20.2.tar.gz
7620ead956b4852f52f0e96e75adea09.png
7620ead956b4852f52f0e96e75adea09.png

解压:

代码语言:javascript
复制
tar -zxvf nginx-1.20.2.tar.gz

编译目录:

代码语言:javascript
复制
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
9f7b903b195ee5905c9cf05a2e78fc0d.png
代码语言:javascript
复制
参数说明:

–prefix=/usr/local/nginx

#编译安装目录

–user=nginx

#所属用户nginx

–group=nginx

#所属组nginx

–with-http_stub_status_module

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

–with-http_ssl_module

# 支持HTTPS

编译源码并安装:

代码语言:javascript
复制
make			# 编译
make install  		# 安装
fe4d997a4b9a5b11916bf622f4d60d99.png
fe4d997a4b9a5b11916bf622f4d60d99.png

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

使用nginx用户登录:

代码语言:javascript
复制
user nginx nginx;

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

3 ningx操作

启动服务:

代码语言:javascript
复制
/usr/local/nginx/sbin/nginx

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

代码语言:javascript
复制
whereis nginx
bb9da86347a4f3c3ebbac38432baa05e.png
bb9da86347a4f3c3ebbac38432baa05e.png

启动后,查看Nginx情况:

代码语言:javascript
复制
ps -ef | grep nginx
99276bf14d5094e2fd2f90ae61e83e37.png
99276bf14d5094e2fd2f90ae61e83e37.png

查看Nginx的版本号:

代码语言:javascript
复制
/usr/local/nginx/sbin/nginx -V
ec8a4bc0274ae07a1d22d97267dca031.png
ec8a4bc0274ae07a1d22d97267dca031.png

浏览器直接IP访问:

4d070d15f4a18dc25b14a3d90636d4ec.png
4d070d15f4a18dc25b14a3d90636d4ec.png

重启服务:

代码语言:javascript
复制
/usr/local/nginx/sbin/nginx -s reload

停止服务:

代码语言:javascript
复制
/usr/local/nginx/sbin/nginx -s stop

Nginx服务配置

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

配置服务文件:

代码语言:javascript
复制
vi /lib/systemd/system/nginx.service

配置信息:

代码语言:javascript
复制
[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

创建服务:

代码语言:javascript
复制
systemctl enable nginx.service
12d87ca367241b3fbd2a2a627ad77a1e.png
12d87ca367241b3fbd2a2a627ad77a1e.png

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

使用服务命令:

代码语言:javascript
复制
systemctl status nginx
e202f16cae56314e88440fc6718e7e7f.png
e202f16cae56314e88440fc6718e7e7f.png
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-11-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 依赖库安装
  • 2 nginx 安装
  • 3 ningx操作
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档