下面以 Debian(如 Debian 11 / 12) 为例,说明如何从源码 编译安装 Nginx,并附带常见配置。
sudo apt update
sudo apt install -y \
build-essential \
libpcre3 libpcre3-dev \
zlib1g zlib1g-dev \
libssl-dev \
wget curl
说明:
build-essential:编译器(gcc 等)pcre:Nginx 正则支持zlib:压缩支持openssl:HTTPS 支持cd /usr/local/src
sudo wget https://nginx.org/download/nginx-1.26.2.tar.gz
sudo tar -zxvf nginx-1.26.2.tar.gz
cd nginx-1.26.2
版本号可自行替换为最新稳定版(https://nginx.org/en/download.html)
./configure \
--prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream
常用模块说明:
--with-http_ssl_module:HTTPS--with-http_stub_status_module:状态监控--with-stream:TCP 代理(如 MySQL、SSH)make
sudo make install
安装完成后:
/usr/local/nginx/sbin/nginx/usr/local/nginx/conf//usr/local/nginx/html//usr/local/nginx/sbin/nginx
浏览器访问:
http://服务器IP
停止 Nginx:
/usr/local/nginx/sbin/nginx -s stop
创建服务文件:
sudo nano /etc/systemd/system/nginx.service
内容如下:
[Unit]
Description=nginx
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
PrivateTmp=true
[Install]
WantedBy=multi-user.target
启用:
sudo systemctl daemon-reload
sudo systemctl enable nginx
sudo systemctl start nginx
/usr/local/nginx/sbin/nginx -V
./configure [原参数] --add-module=xxx
make
sudo make install
sudo ufw allow 80
sudo ufw allow 443
如果你需要:
可以告诉我你的具体需求。