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

Linux下Nginx源码安装步骤详解

以下是在Linux系统下从源码安装Nginx的详细步骤及解释:


1. 下载Nginx源码

步骤:
wget http://nginx.org/download/nginx-1.25.3.tar.gz
tar -zxvf nginx-1.25.3.tar.gz
cd nginx-1.25.3
解释:
  • wget:从官网下载Nginx源码包(版本号以最新稳定版为准)。
  • tar -zxvf:解压.tar.gz文件,z表示解压gzip,x表示解压,v显示过程,f指定文件名。
  • 进入解压后的目录准备后续操作。

2. 安装编译依赖

Ubuntu/Debian系统:
sudo apt update
sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev
CentOS/RHEL系统:
sudo yum install gcc make pcre-devel zlib-devel openssl-devel
解释:
  • build-essential(Debian)或 gcc make(CentOS):安装编译器(GCC)和构建工具(Make)。
  • libpcre3-dev/pcre-devel:PCRE库(支持正则表达式,用于路由匹配)。
  • zlib1g-dev/zlib-devel:zlib库(支持HTTP压缩)。
  • libssl-dev/openssl-devel:OpenSSL库(支持HTTPS协议)。

3. 配置编译选项

步骤:
./configure \--prefix=/usr/local/nginx \--with-http_ssl_module \--with-http_realip_module \--with-http_gzip_static_module
解释:
  • --prefix:指定安装路径(默认/usr/local/nginx)。
  • --with-http_ssl_module:启用HTTPS支持。
  • --with-http_realip_module:获取客户端真实IP(常用于反向代理)。
  • --with-http_gzip_static_module:启用gzip静态压缩。
  • 其他可选模块可通过 ./configure --help 查看。

4. 编译并安装

步骤:
make
sudo make install
解释:
  • make:根据配置编译源码,生成二进制文件。
  • sudo make install:将编译后的文件安装到--prefix指定的目录(需root权限)。

5. 验证安装

检查安装目录结构:
ls /usr/local/nginx

目录说明:

  • sbin/nginx:可执行文件。
  • conf/nginx.conf:主配置文件。
  • html/:默认网站文件。
  • logs/:日志文件。

6. 启动Nginx

启动命令:
sudo /usr/local/nginx/sbin/nginx
验证运行状态:
ps aux | grep nginx  # 查看进程
curl http://localhost  # 访问默认页面(应看到Welcome to nginx!)

7. 配置系统服务(可选)

创建Systemd服务文件:
sudo vim /etc/systemd/system/nginx.service
内容:
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PIDFile=/usr/local/nginx/logs/nginx.pid[Install]
WantedBy=multi-user.target
启用服务:
sudo systemctl daemon-reload
sudo systemctl start nginx
sudo systemctl enable nginx  # 开机自启

8. 防火墙放行端口(若需要)

sudo ufw allow 80/tcp    # Ubuntu
sudo firewall-cmd --permanent --add-port=80/tcp  # CentOS
sudo firewall-cmd --reload

9. 访问测试

浏览器访问 http://服务器IP,看到Nginx欢迎页即表示成功。


常用命令

  • 停止Nginx:sudo /usr/local/nginx/sbin/nginx -s stop
  • 重新加载配置:sudo /usr/local/nginx/sbin/nginx -s reload
  • 检查配置文件语法:sudo /usr/local/nginx/sbin/nginx -t

可能遇到的问题

  1. 端口冲突:若80端口被占用(如Apache),需先停止其他服务。
  2. 权限不足:使用sudo执行安装和启动命令。
  3. 依赖缺失:配置阶段报错时,检查是否安装所有依赖库。

通过以上步骤,您已完成Nginx的源码编译安装及基础配置。

http://www.xdnf.cn/news/6892.html

相关文章:

  • 告别 pip:使用 uv 加速你的 Python 包管理
  • Android Studio报错Cannot parse result path string:
  • 2023年全国青少年信息素养大赛-图形化编程复赛真题—打气球
  • 网络编程中的直接内存与零拷贝
  • JDBC 的编写步骤及原理详解
  • 素数筛(欧拉筛算法)
  • PIC16F18877 的主时钟 设置方法
  • Python爬虫实战:获取1688商品信息
  • [PMIC]PMIC重要知识点总结
  • 大数据会被AI取代?不!大数据才是AI的“智慧燃料”引擎
  • 烹饪实训室的行业标准实训
  • encrypt-labs AES 固定key
  • HelloWorld
  • 手写tomcat:基本功能实现(4)
  • webman用nginx代理静态json文件的异步跨域
  • 最小二乘法拟合平面(线性回归法、梯度下降、PCA法)
  • 2025年第三届盘古石杯初赛(智能冰箱,监控部分)
  • 深入理解 requestIdleCallback:浏览器空闲时段的性能优化利器
  • facebook开源分子化学数据集和模型(OMol25)论文速读
  • 典籍知识问答模块AI问答bug修改
  • 机器学习——逻辑回归
  • Mipsel固件Fuzzing小记
  • 计算机图形学编程(使用OpenGL和C++)(第2版)学习笔记 12.曲面细分
  • AUTOSAR图解==>AUTOSAR_SWS_HWTestManager
  • STM32H7时钟树
  • 开源语音-文本基础模型和全双工语音对话框架 Moshi 介绍
  • OTA与boot loader
  • 北大:基于因果的LLM形式化推理
  • 进阶-数据结构部分:3、常用查找算法
  • NVC++ 介绍与使用指南