Ubuntu中Nginx的安装与配置
简介
Nginx是什么
Nginx(Engine X)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,其特点是占有内存少、并发能力强,同时支持热部署,可以连续长时间不间断运行,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名
正向代理和反向代理
- 代理相当于一个
中介,比如A和B之间需要连接,添加一个C在A与B之间,A与B不直接连接,而是通过C作为中介进行连接 - 一个完整的请求的组成:
client(客户端)->proxy(代理)->server(服务端)
正向代理(Forward Proxy)
正向代理位于客户端和目标服务器之间,客户端通过代理服务器访问无法直接到达的服务器资源- 对于目标服务器来说,它看到的是代理服务器而不是真正的客户端,从而
绕过访问限制、提高访问速度(通过缓存)、隐藏客户端的真实IP地址来保护用户隐私

反向代理(Reverse Proxy)
反向代理位于客户端和一组服务器之间,它接收来自客户端的请求并将其分发到后端的服务器- 对于客户端来说,它感知不到后端的服务器,只能与
代理服务器进行交互 - 反向代理的主要作用是:
负载均衡、提高访问速度、隐藏服务器的真实IP地址、提供额外的安全保护

Nginx的下载和安装
安装环境
- Linux Ubuntu(WSL):Linux version 5.15.167.4-microsoft-standard-WSL2 (gcc (GCC) 11.2.0, GNU ld (GNU Binutils) 2.37)
- 首先更新系统包列表
sudo apt update
sudo apt upgrade -y- 安装必要的依赖包
sudo apt install -y build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev wgetNginx的安装
使用nginx压缩包安装
提示
该方式可以精确部署,如安装在用户文件夹中,避免一些访问和修改的权限问题
- 下载nginx源码
cd data/nginx
sudo wget http://nginx.org/download/nginx-1.27.3.tar.gz
- 解压压缩包
# 解压到当前目录下
tar -xzvf nginx-1.27.3.tar.gz
cd nginx-1.27.3- 配置编译选项
# --prefix=path 指定nginx的安装目录
# --with-pcre: 启用PCRE支持(正则表达式)
# --with-http_ssl_module: 启用SSL模块
# --with-http_v2_module: 启用HTTP/2支持
# --with-http_gzip_static_module: 启用Gzip静态压缩模块
# --with-stream & --with-stream_ssl_module: 启用TCP/UDP流支持及其SSL模块
sudo ./configure \
--prefix=/home/novice/data/nginx \
--with-pcre \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_gzip_static_module \
--with-stream \
--with-stream_ssl_module- 编译
# 若显示Permission denied,则输入sudo make
make- 编译完成后,执行make的install命令安装Nginx服务器
# 若显示Permission denied,则输入sudo make install
make install使用apt安装
提示
该方式需要root权限,建议使用前一种方式
- 执行安装命令
sudo apt install nginx- 安装完成后查看nginx运行状态
systemctl status nginx- 查看nginx进程
ps aux | grep nginxNginx的管理
- 在启动服务器之前,可以通过如下指令来查看Nginx服务器配置文件是否有语法错误:
# 绝对路径
/home/novice/data/nginx/sbin/nginx -t
# 相对路径
./sbin/nginx -t- 查看Nginx服务器版本
./sbin/nginx -v- 使用默认配置启动Nginx
./sbin/nginx- 查看Nginx进程状态
ps -ef|grep nginx- 停止Nginx服务器
# 相对路径
./sbin/nginx -s stop- 重启Nginx服务器
./sbin/nginx -s reopen- 重新载入配置文件
./sbin/nginx -s reload特殊情况处理
- 若启动后出现
403 Forbidden
将`nginx.conf文件中的user改为root,重新加载配置即可 
成果图
- 此时进入localhost:80时,显示如下内容时,说明安装已完成

