此教程为 Chatgpt4 生成,排除了些错误,自己操作了下安装成功,所以记录一下。
建议使用普通用户编译安装
安装完成后可以复制编译好的 nginx 二进制文件和模块文件,替换掉apt软件源安装的二进制文件
1. 系统更新和准备环境
首先,更新系统软件包并安装必要的依赖项:
sudo apt update
sudo apt upgrade
sudo apt install build-essential libtool automake autoconf zlib1g-dev libpcre3-dev libssl-dev libxml2-dev libxslt1-dev libgd-dev libgeoip-dev libgoogle-perftools-dev libperl-dev libpam0g-dev libpcre++-dev libcurl4-openssl-dev libyajl-dev libmaxminddb-dev liblmdb-dev git
2. 下载 Nginx 和附加模块
下载 Nginx 并解压
wget http://nginx.org/download/nginx-1.22.0.tar.gz
tar -xvf nginx-1.22.0.tar.gz
注意 :请从 Nginx 官网 查看最新版本,并相应地替换下载链接。
下载并解压需要的附加模块:
# ngx_brotli
git clone https://github.com/google/ngx_brotli.git
cd ngx_brotli
git submodule update --init --recursive
cd ..
# ngx_headers_more
git clone https://github.com/openresty/headers-more-nginx-module.git
# ngx_cache_purge
git clone https://github.com/nginx-modules/ngx_cache_purge.git
3. 配置并编译 Nginx
进入 Nginx 源代码目录,配置编译选项(包括附加模块)
如果第三方模块要以动态模块加载的话可以用将--add-module
改成--add-dynamic-module
cd nginx-1.22.0
/configure --prefix=/usr/lib/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 \
--lock-path=/var/run/nginx.lock \
--http-client-body-temp-path=/var/cache/nginx/client_temp \
--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
--http-scgi-temp-path=/var/cache/nginx/scgi_temp \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_xslt_module=dynamic \
--with-http_image_filter_module=dynamic \
--with-http_geoip_module=dynamic \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_auth_request_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_degradation_module \
--with-http_slice_module \
--with-http_stub_status_module \
--with-http_perl_module=dynamic \
--with-mail=dynamic \
--with-mail_ssl_module \
--with-stream \
--with-stream=dynamic \
--with-stream_ssl_module \
--with-stream_realip_module \
--with-stream_geoip_module=dynamic \
--with-stream_ssl_preread_module \
--with-compat \
--with-pcre \
--with-pcre-jit \
--with-zlib-asm=CPU \
--with-debug \
--with-cc-opt='-O2 -g -pipe -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' \
--with-ld-opt='-Wl,-z,relro -Wl,-E' \
--add-module=../ngx_brotli \
--add-module=../headers-more-nginx-module \
--add-module=../ngx_cache_purge
编译 Nginx
make
4. 安装 Nginx
使用 sudo
安装 Nginx:
sudo make install
创建一个名为 nginx
的系统用户和用户组:
sudo adduser --system --no-create-home --disabled-login --disabled-password --group nginx
创建必要的目录:
sudo mkdir -p /var/cache/nginx
sudo chown nginx:nginx /var/cache/nginx
sudo chown -R nginx:nginx /usr/local/nginx
添加 Nginx 系统服务文件
sudo vim /etc/systemd/system/nginx.service
[Unit]
Description=The Nginx HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
启用并启动 Nginx 服务
sudo systemctl enable nginx
sudo systemctl start nginx
sudo systemctl status nginx
现在,您的 Debian 10 系统上已经安装了最新版的 Nginx,包括各种常用模块和安全模块。您可以通过运行 nginx -v
和 nginx -V
命令查看 Nginx 的版本信息和编译选项。
5.可选
迁移到通过软件源安装的机器
参考下面教程
编译安装的nginx迁移到通过软件源安装的机器
注意 :请根据需要配置 Nginx。默认的配置文件位于 /etc/nginx/nginx.conf
。您可以在 Nginx 官方文档 中找到有关配置的详细信息。