一、准备工作
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配置、负载均衡配置、反向代理配置等常见场景,希望对大家有所帮助。