Nginx源码安装
封面图
•
2025-10-23
•
NGINX
276
0
0
0
在 Linux 系统上源码安装 Nginx 是一种灵活的方式,可以自定义编译选项。以下是基于 **Ubuntu/Debian** 或 **CentOS/RHEL** 的通用步骤(以 Ubuntu 22.04 为例)。 --- ## ✅ 一、准备工作 ### 1. 安装依赖包 ```bash # Ubuntu/Debian sudo apt update sudo apt install -y build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev # CentOS/RHEL sudo yum groupinstall -y "Development Tools" sudo yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel ``` --- ## ✅ 二、下载 Nginx 源码包 你可以从 [Nginx 官网](https://nginx.org/download/) 下载最新版本的源码: ```bash cd /usr/local/src sudo wget https://nginx.org/download/nginx-1.24.0.tar.gz sudo tar -zxvf nginx-1.24.0.tar.gz cd nginx-1.24.0 ``` > 替换 `nginx-1.24.0` 为你要安装的版本号。 --- ## ✅ 三、配置编译参数 ```bash ./configure \ --prefix=/usr/local/nginx \ --sbin-path=/usr/sbin/nginx \ --conf-path=/etc/nginx/nginx.conf \ --error-log-path=/var/log/nginx/error.log \ --http-log-path=/var/log/nginx/access.log \ --pid-path=/var/run/nginx.pid \ --with-http_ssl_module \ --with-http_gzip_static_module \ --with-http_stub_status_module \ --with-pcre ``` > 你可以根据需要添加其他模块,比如 `--with-http_realip_module` 等。 --- ## ✅ 四、编译和安装 ```bash make sudo make install ``` --- ## ✅ 五、验证安装 ```bash /usr/local/nginx/sbin/nginx -v ``` 应该会输出类似: ``` nginx version: nginx/1.24.0 ``` --- ## ✅ 六、启动 Nginx ```bash sudo /usr/local/nginx/sbin/nginx ``` 查看进程: ```bash ps -ef | grep nginx ``` 查看日志: ```bash tail -f /var/log/nginx/error.log ``` --- ## ✅ 七、设置开机启动(可选) ### 方法一:使用 systemd(推荐) 创建服务文件: ```bash sudo nano /etc/systemd/system/nginx.service ``` 内容如下: ```ini [Unit] Description=The NGINX HTTP and reverse proxy server After=network.target [Service] Type=forking PIDFile=/var/run/nginx.pid ExecStartPre=/usr/local/nginx/sbin/nginx -t ExecStart=/usr/local/nginx/sbin/nginx ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target ``` 保存后执行: ```bash sudo systemctl daemon-reload sudo systemctl enable nginx sudo systemctl start nginx ``` --- ## ✅ 八、常见问题 ### 1. 编译错误:找不到某个模块? 确保你已经安装了对应的开发库,例如: - `libpcre3-dev`(PCRE) - `zlib1g-dev`(zlib) - `libssl-dev`(OpenSSL) ### 2. 启动失败? 检查 `/etc/nginx/nginx.conf` 是否有语法错误: ```bash /usr/local/nginx/sbin/nginx -t ``` --- ## ✅ 九、卸载 Nginx(如果需要) ```bash sudo rm -rf /usr/local/nginx sudo rm /usr/sbin/nginx sudo rm /etc/nginx/ sudo rm /var/log/nginx/ ``` --- 如果你需要更详细的模块支持(如 `Lua`、`RTMP`、`GeoIP` 等),可以在 `./configure` 时添加相应的模块参数。 是否需要我帮你生成一个定制化配置?比如包含 Lua 支持?
上一篇:
centos 7 源码包安装、卸载nginx
下一篇:
Nginx反向代理上传大文件报错(failed to load resource : net ::
标题录入,一次不能超过6条
返回顶部
留言
留言
评论