当前位置: 首页 > 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.dtcms.com/a/284492.html

相关文章:

  • ESLint 完整功能介绍和完整使用示例演示
  • 01项目管理概论
  • Shell变量
  • 操作系统系统面试常问(进程、线程、协程相关知识)
  • Java使用FastExcel实现Excel文件导入
  • 基于springboot+vue+mysql框架开发的景区民宿预约系统的设计与实现(源码+论文)
  • 政务类产品的用户场景如何描述
  • STM32 DMA通信详解
  • Qt CMake 学习文档
  • 优化 CSS 性能
  • 设计模式是什么呢?
  • Spring AI之Prompt开发
  • npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1
  • 理解 PS1/PROMPT 及 macOS iTerm2 + zsh 终端配置优化指南
  • 【AI大模型应用开发】Prompt提示词工程
  • 013【入门】队列和栈-链表、数组实现
  • IPC进程间通信 interprocess communicate
  • Expr系列1(函数,表达式,约束系统)
  • Claude Code如何集成到VSCode、PyCharm IDE及使用技巧
  • 云手机的具体技术要求有什么?
  • Flutter:上传图片,选择相机或相册:wechat_assets_picker
  • docker 容器无法使用dns解析域名异常问题排查
  • 微服务的编程测评系统3-加密-日志-apifox-nacos-全局异常
  • Kubernetes (k8s)环境重启Pod方式总结
  • CPU架构、三级缓存以及内存优化屏障
  • Allure + JUnit5
  • 打造风险评估体系,筑牢城市安全基石
  • 用Python实现神经网络(二)
  • 解决hadoop常用到的问题
  • TRAE IDE** 下载、安装、开发、测试和部署 2048 小游戏的全流程指南