您的位置:

源码安装nginx详解

一、准备工作

1、首先需要下载nginx的源码包,可以去官网下载或者使用命令行进行下载。

wget https://nginx.org/download/nginx-1.18.0.tar.gz

2、下载完成后解压到指定目录。

tar -xzvf nginx-1.18.0.tar.gz

3、安装依赖库。

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

二、配置nginx编译选项

1、进入nginx源码目录,执行configure命令。

cd nginx-1.18.0
./configure

2、如果需要增加nginx模块,可以添加相应的参数。

./configure --prefix=/usr/local/nginx \
            --add-module=/path/to/module \
            --with-http_ssl_module \
            --with-http_v2_module

3、对于需要使用动态模块的情况,需要添加--with-compat配置项。

./configure --with-compat --add-dynamic-module=/path/to/module

三、编译和安装nginx

1、编译nginx。

make

2、安装nginx到指定目录。

sudo make install

3、启动nginx。

/usr/local/nginx/sbin/nginx

四、nginx常用命令

1、启动nginx。

/usr/local/nginx/sbin/nginx

2、停止nginx。

/usr/local/nginx/sbin/nginx -s stop

3、重启nginx。

/usr/local/nginx/sbin/nginx -s reload

4、查看nginx进程。

ps aux | grep nginx

5、查看nginx配置文件是否正确。

/usr/local/nginx/sbin/nginx -t

五、nginx配置文件

1、nginx配置文件一般存放在/usr/local/nginx/conf目录下。

cd /usr/local/nginx/conf

2、文件列表:

nginx.conf            # nginx总配置文件
fastcgi.conf          # fastcgi的配置文件
fastcgi_params        # fastcgi的参数文件
mime.types            # MIME类型配置文件
scgi_params           # scgi的参数文件
uwsgi_params          # uwsgi的参数文件
uwsgi_params.default  # uwsgi的参数文件(默认)

3、nginx总配置文件一般遵循的是“虚拟主机模式”,本质上就是一个http容器,如下所示:

http {
    ...
    server {
        ...
    }
    server {
        ...
    }
}

六、ssl配置

1、证书申请。

从SSL证书提供商(如let's encrypt)申请证书。

2、配置SSL。

server {
    listen       443 ssl;
    server_name  example.com;

    ssl_certificate      /path/to/cert;
    ssl_certificate_key  /path/to/key;

    ...
}

七、负载均衡配置

1、安装ngx_http_upstream_module模块。

./configure --add-module=path/to/ngx_http_upstream_module
make
sudo make install

2、在nginx配置文件中配置upstream。

upstream myserver {
    server 127.0.0.1:8001;
    server 127.0.0.1:8002;
}

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://myserver;
    }
}

八、反向代理配置

1、在nginx配置文件中配置反向代理。

server {
    listen       80;
    server_name  example.com;

    location / {
        proxy_pass  http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

2、启动服务。

/usr/local/nginx/sbin/nginx

九、总结

本文简要介绍了源码安装nginx的过程及常用命令和配置示例,涵盖了ssl配置、负载均衡配置、反向代理配置等常见场景,希望对大家有所帮助。