Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,它的安装和编译过程相对简单。下面是一个基本的步骤指南,帮助你在Linux系统上编译和安装Nginx。

1. 环境准备

确保你的系统已经安装了必要的工具和库,如gccmakelibpcre3zlib等。可以使用以下命令安装:

sudo apt-get update
sudo apt-get install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev openssl libssl-dev

2. 下载Nginx源码

你可以从Nginx的官方网站下载最新的稳定版本,或者使用wget命令直接下载。

wget http://nginx.org/download/nginx-1.26.0.tar.gz

请确保下载的版本与你系统兼容,并且是你需要的版本。

3. 解压源码包

使用tar命令解压下载的源码包。

tar -zxvf nginx-1.26.0.tar.gz

4. 编译Nginx

进入解压后的目录,并开始编译过程。你可以添加-j $(nproc)来利用所有可用的CPU核心进行编译。

cd nginx-1.26.0
./configure --prefix=/opt/nginx
make -j $(nproc)

这里的--prefix=/opt/nginx指定了Nginx的安装目录。

编译Nginx时,是否包含相关模块取决于你在配置阶段选择的选项。默认情况下,Nginx的配置脚本(./configure)会包含一些基本的模块,但是为了启用额外的模块,你可能需要在配置阶段指定额外的参数。

例如,如果你想要启用HTTP SSL模块(对于HTTPS支持是必需的),你需要在运行./configure命令时添加--with-http_ssl_module参数。同样,如果你需要其他模块,如HTTP Gzip模块、HTTP Subrequest模块等,你也需要在配置阶段指定相应的参数。

下面是一个编译Nginx并启用多个常用模块的例子:

./configure --prefix=/opt/nginx \
            --with-http_ssl_module \
            --with-http_gzip_static_module \
            --with-http_auth_request_module \
            --with-http_realip_module \
            --with-file-aio \
            --with-threads

在这个例子中,我们启用了以下模块:

  • --with-http_ssl_module: 启用SSL支持。
  • --with-http_gzip_static_module: 启用Gzip压缩。
  • --with-http_realip_module: 启用获取客户端真实 IP 地址。
  • --with-http_subrequest_module: 启用子请求支持。(在 Nginx 1.9.13 版本之后,http_subrequest_module 已经被合并到核心中,不再需要在配置时显式指定。)
  • --with-http_auth_request_module: 启用授权请求支持。
  • --with-file-aio: 启用异步文件I/O支持。
  • --with-threads: 启用多线程支持。

请注意,某些模块可能是依赖于系统库的,如果你的系统没有安装相应的库,那么这些模块可能无法成功编译。例如,启用SSL模块需要你的系统安装了OpenSSL库。

apt-get install libssl-dev

如果你不确定需要哪些模块,或者不确定如何启用特定的模块,你可以查看Nginx的官方文档或者使用./configure --help命令来获取可用的配置选项。

最后,如果你需要的模块没有在编译时启用,你将无法在运行时使用这些模块的功能。如果你发现需要某个模块但没有在编译时包含,你需要重新编译Nginx并包含所需的模块。

5. 安装Nginx

编译完成后,使用make install命令进行安装。

sudo make install

6. 配置Nginx

安装完成后,你需要配置Nginx。配置文件通常位于/opt/nginx/conf/nginx.conf。你可以编辑这个文件来配置你的Web服务器。

nginx.conf
vhost.conf

7. 启动Nginx

配置完成后,你可以使用以下命令启动Nginx。

sudo /opt/nginx/sbin/nginx

8. 验证安装

在浏览器中输入服务器的IP地址,如果看到Nginx的欢迎页面,那么恭喜你,Nginx已经成功安装并运行了。

9. 设置开机启动

如果你希望Nginx在系统启动时自动运行,可以使用以下命令将其添加到系统服务。

sudo ln -s /opt/nginx/sbin/nginx /etc/init.d/nginx
sudo update-rc.d nginx defaults

10. 重启和停止Nginx

如果你需要重启或停止Nginx,可以使用以下命令:

sudo /opt/nginx/sbin/nginx -s reload  # 重启
sudo /opt/nginx/sbin/nginx -s stop   # 停止

以上就是Nginx的编译和安装过程。根据你的具体需求,你可能还需要安装额外的模块或进行更复杂的配置。记得在进行任何操作前备份你的配置文件,以防出现配置错误导致的问题。