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

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.xdnf.cn/news/15572.html

相关文章:

  • 网络通信之基础知识
  • 项目的存量接口怎么低成本接入MCP?
  • 暑期算法训练.3
  • Android设备标识符详解:IMEI、ANDROID_ID与OAID
  • 针对教育行业的网络安全方案有哪些
  • 软件测试面试常见问题【含答案】
  • Effective Modern C++ 条款13:优先考虑const_iterator而非iterator
  • docker安装、启动jenkins服务,创建接口自动化定时任务(mac系统)
  • Python基础--嵌套循环
  • vuex的理解以及应用
  • Pytorch深度学习框架实战教程03:Tensor 的创建、属性、操作与转换详解
  • Java网络通信:UDP和TCP
  • Python-TCP编程-UDP编程-SocketServer-IO各种概念及多路复用-asyncio-学习笔记
  • ELK日志分析部署(小白的“升级打怪”成长之路)
  • javaweb学习开发代码_HTML-CSS-JS
  • 如何用 Python + LLM 构建一个智能栗子表格提取工具?
  • AWS Lambda 最佳实践:构建高效无服务器应用的完整指南
  • Python 网络爬虫 —— requests 库和网页源代码
  • 永磁同步电机MTPA与MTPV曲线具体仿真实现
  • 大模型领域主流向量模型相似度算法、架构及指标对比
  • 在windows平台上基于OpenHarmony sdk编译三方库并暴露给ArkTS使用(详细)
  • 数据结构 栈(1)
  • 聚观早报 | 英伟达股价再创新高;中国联通eSIM手机业务开通上线;中国AI加速出海 阿里云提供全栈能力支持
  • Cookie 与 Session概述
  • 第2章通用的高并发架构设计——2.6 高并发写场景方案1:数据分片之数据库分库分表
  • R语言基础| 基本图形绘制(条形图、堆积图、分组图、填充条形图、均值条形图)
  • 软件项目管理学习笔记
  • 如何在PyCharm中删除虚拟环境
  • 项目--五子棋(模块实现)
  • mysql备份与视图