当前位置: 首页 > news >正文

Linux手动安装Nginx(基于Centos 7)

一、nginx源码安装

1.官网下载

nginx官网:nginx: download

我选择的源码包是nginx-1.20.2.tar.gz

pcre官网:PCRE download | SourceForge.net

我选择的源码包是pcre-8.37.tar.gz

MobaXterm上传源码包并查看是否上传成功

2.源码包下载

pcre源码包下载:

wget http://sourceforge.net/projects/pcre/files/pcre/8.37/pcre-8.37.tar.gz -P /usr/src

nginx源码包下载: 

wget http://nginx.org/download/nginx-1.20.2.tar.gz -P /usr/src

查看源码包是否下载

ls -l /usr/src

二、nginx安装

1.安装nginx依赖包

yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre-devel

包名对 Nginx 的作用
make执行编译过程的构建工具
zlib/zlib-devel提供 gzip 压缩功能支持
gcc-c++提供 C/C++ 编译环境
libtool帮助管理库文件的生成
openssl提供 HTTPS/SSL 支持的基础加密功能
pcre-devel提供正则表达式支持(用于 location 匹配等

PS:若没有安装上述nginx依赖包,在后续执行./configure此处容易出现问题

报checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/opt/module/pcre-8.37':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details错误

2.解压源码包

1、创建并进入放置解压源码包的位置

cd /opt

mkdir module

cd module/

2、解压pcre源码包

tar -zxvf "/root/pcre-8.37.tar.gz"

3、解压nginx源码包

 tar -zxvf "/root/nginx-1.20.2.tar.gz"

PS: 配置目的:
      1)检查环境 是否 满足安装条件     依赖解决
      2)指定安装方式    配置文件   命令文件  各种文件放哪里   开启模块功能【内置模块  三方模块】
      3)指定软件安装在那里

3.配置pcre源码包编译选项

1、进入源码包

cd pcre-8.37/

2、配置pcre源码包

 ./configure

4.编译安装pcre

 make && make install

5.配置nginx源码包编译选项

1、进入源码包

cd nginx-1.20.2/

2、配置nginx源码包

 ./configure --prefix=/usr/local/nginx

6.编译安装nginx

1、编译nginx

 make

2、安装nginx

make install

7. 配置系统集成

1、永久配置环境变量

方法一:修改用户级配置(推荐)

# 编辑当前用户的 ~/.bashrc 文件

vim ~/.bashrc


# 在文件末尾添加:

export PATH=$PATH:/usr/local/nginx/sbin

# 使配置生效

source ~/.bashrc

方法二:修改系统级配置(所有用户生效)

# 编辑 /etc/profile 文件

 vim /etc/profile

# 在文件末尾添加:

export PATH=$PATH:/usr/local/nginx/sbin

# 使配置生效

source /etc/profile

2、创建符号链接(替代方案)

如果不想修改环境变量,可直接创建软链接到系统路径:

ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx

验证:

which nginx  # 应显示:/usr/local/bin/nginx

 

3、验证配置

# 检查环境变量
echo $PATH | grep nginx

# 测试命令
nginx -t      # 测试配置文件
nginx -v      # 显示版本
nginx -V      # 显示编译参数
 

8.配置系统服务 

PS: 此处容易出现的问题:

报-bash:vim:未找到命令错误

解决办法:

下载工具

yum -y install vim 

1、创建 systemd 服务文件

vim /etc/systemd/system/nginx.service

添加以下内容:

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target
 

2、启用并启动 Nginx 服务

systemctl daemon-reload
systemctl enable nginx
systemctl start nginx

3、验证安装


systemctl status nginx
curl -I localhost
 

 

#查看进程

ps -ef|grep nginx

#查看端口

netstat -tulnp |grep nginx

PS:此处容易出现问题

报-bash: netstat: 未找到命令错误

解决办法:

#安装工具

 yum -y install net-tools

http://www.lryc.cn/news/591518.html

相关文章:

  • 什么是GEO 和 SEO ?GEO 与 SEO 有什么区别?如何快速入门GEO?
  • 大模型领域主流向量模型相似度算法、架构及指标对比
  • 断网情况下,网线直连 Windows 笔记本 和Ubuntu 服务器
  • 搞清MVCC
  • USB导出功能(QT)
  • 知网学术不端论文检测查重助手(Windows)
  • 石子入水波纹效果:顶点扰动着色器实现
  • lwIP WebSocket 客户端 TCP PCB 泄漏问题分析与解决
  • 当综艺IP跨界咖啡餐饮,《微笑一号店》重塑行业经营逻辑
  • 从零开始:C++ UDP通信实战教程
  • 【Python】通过cmd的shell命令获取局域网内所有IP、MAC地址,通过主机名获取IP
  • CCLink IE转ModbusTCP网关配置无纸记录器(上篇)
  • Redis 生产实战 7×24:容量规划、性能调优、故障演练与成本治理 40 条军规
  • Baumer工业相机堡盟工业相机如何通过YoloV8模型实现人物识别(C#)
  • MacOS安装linux虚拟机
  • Kubernetes架构原理与集群环境部署
  • Spring Boot 自动配置:从 spring.factories 到 AutoConfiguration.imports 的演变
  • MySQL安全修改表结构、加索引:ON-Line-DDL工具有哪些
  • 数据产品结构:从数据接入到可视化的完整架构指南
  • 学习C++、QT---27(QT中实现记事本项目实现行列显示、优化保存文件的功能的讲解)
  • Spring Boot 参数校验:@Valid 与 @Validated
  • 关于vector中的erase的强调
  • Leetcode刷题营第二十八题:二叉树的前序遍历
  • Effective Python 条款7 用列表推导来取代map和filter
  • c++之 KMP 讲解
  • 网络原理 —— HTTP
  • 深入理解Collections.addAll方法
  • Python 离线安装 PyInstaller 的完整步骤(以python3.11.4-amd64.exe为例)
  • Trae IDE:打造完美Java开发环境的实战指南
  • 产品经理如何绘制服务蓝图(Service Blueprint)