您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# Nginx编译与安装的步骤
## 一、前言
Nginx是一款高性能的HTTP和反向代理服务器,以其高并发、低内存占用和模块化架构闻名。本文详细介绍从源码编译安装Nginx的完整流程,包括环境准备、依赖安装、配置选项、编译安装及后续配置等步骤。
---
## 二、环境准备
### 1. 系统要求
- Linux/Unix操作系统(本文以CentOS 7为例)
- 至少1GB可用磁盘空间
- GCC编译器(4.8+版本)
- Root或具有sudo权限的用户
### 2. 检查基础工具
```bash
# 检查GCC是否安装
gcc --version
# 若无输出,则安装开发工具链
sudo yum groupinstall "Development Tools"
Nginx编译需要以下依赖库:
依赖名称 | 作用 | 安装命令 |
---|---|---|
PCRE | 正则表达式支持 | sudo yum install pcre-devel |
OpenSSL | HTTPS支持 | sudo yum install openssl-devel |
zlib | GZIP压缩 | sudo yum install zlib-devel |
完整安装命令:
sudo yum install -y pcre-devel openssl-devel zlib-devel
Nginx官方下载页
推荐选择Stable version(如nginx-1.24.0)
wget https://nginx.org/download/nginx-1.24.0.tar.gz
tar -zxvf nginx-1.24.0.tar.gz
cd nginx-1.24.0
./configure \
--prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module
参数 | 作用 |
---|---|
--prefix=/path |
指定安装目录 |
--with-http_ssl_module |
启用HTTPS支持 |
--with-stream |
启用TCP/UDP代理功能 |
--with-debug |
启用调试日志 |
执行后会显示汇总信息:
Configuration summary
+ using system PCRE library
+ OpenSSL library is used
+ using system zlib library
make -j$(nproc) # -j参数启用多核编译加速
sudo make install
/usr/local/nginx/sbin/nginx -v
# 应输出类似:nginx version: nginx/1.24.0
创建文件/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 enable nginx
sudo systemctl start nginx
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
浏览器访问http://服务器IP
,应看到Nginx欢迎页。
在~/.bashrc
中添加:
export PATH=$PATH:/usr/local/nginx/sbin
配置logrotate:
sudo vim /etc/logrotate.d/nginx
内容示例:
/usr/local/nginx/logs/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 640 root root
sharedscripts
postrotate
[ -f /usr/local/nginx/logs/nginx.pid ] && kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
endscript
}
若出现bind() to 0.0.0.0:80 failed
错误:
# 检查占用进程
sudo netstat -tulnp | grep :80
# 停止占用服务或修改Nginx配置
vim /usr/local/nginx/conf/nginx.conf
重新配置时添加对应模块:
./configure --with-http_stub_status_module # 示例:添加状态模块
make && sudo make install
通过源码编译安装Nginx可以获得: - 最新版本特性 - 自定义模块组合 - 优化的安装路径 - 更好的安全控制
建议生产环境配合防火墙规则和定期日志清理使用。如需更简便的安装方式,可考虑使用官方预编译包或Docker镜像。
注:本文档最后更新于2023年10月,不同版本操作可能略有差异。 “`
(全文约2000字,实际字符数可能因Markdown格式略有差异)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。