以下是在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
可能遇到的问题
- 端口冲突:若80端口被占用(如Apache),需先停止其他服务。
- 权限不足:使用
sudo执行安装和启动命令。 - 依赖缺失:配置阶段报错时,检查是否安装所有依赖库。
通过以上步骤,您已完成Nginx的源码编译安装及基础配置。











![[ctfshow web入门] web122](https://i-blog.csdnimg.cn/direct/b8e1165dd3634767b3037ab66f777443.png)







![[ctfshow web入门] web77](https://i-blog.csdnimg.cn/direct/8706933533104cbd8e3579e6f0ae7ac9.png)