WSL中安装部署Nginx
Nginx(发音同“engine X”)是异步框架的网页服务器,也可以用作反向代理、负载平衡器和HTTP缓存。由于它有丰富的组件库,灵活的配置,较低的消耗和很好的稳定性而远近闻名;Nginx同Apache一样采用模块化设计,有内置模块和第三方模块。
安装、启动和验证Nginx
安装
sudo apt update sudo apt install nginx -y
启动
sudo nginx -T # 验证一下是否有配置文件错误 sudo nginx
- 验证
在浏览器输入本机IP,因为默认是使用80端口的,不需要指定端口
配置文件浅析
解析本地静态文件
静态HTTP服务器:Nginx是一个HTTP服务器,可以将服务器上的静态文件(如HTML、图片)通过HTTP协议展现给客户端。
server {
listen 80; # 端口号
location / {
root /usr/share/nginx/html; # 静态文件路径
}
}
反向代理
反向代理服务器:客户端本来可以直接通过HTTP协议访问某网站应用服务器,如果网站管理员在中间加上一个Nginx,客户端请求Nginx,Nginx请求应用服务器,然后将结果返回给客户端,此时Nginx就是反向代理服务器。
server {
listen 80;
location / {
proxy_pass http://192.168.0.112:8080; # 应用服务器HTTP地址
}
}
负载均衡
负载均衡:当网站访问量非常大,服务器压力会越来越大,一台服务器已经不够用了。于是将相同的应用部署在多台服务器上,将大量用户的请求分配给多台机器处理。同时带来的好处是,其中一台服务器万一挂了,只要还有其他服务器正常运行,就不会影响用户使用。
upstream myweb {
server 192.168.0.111:8080; # 应用服务器1
server 192.168.0.112:8080; # 应用服务器2
}
server {
listen 80;
location / {
proxy_pass http://myweb;
}
}
虚拟主机
虚拟主机:网站访问量大,需要负载均衡。然而并不是所有网站都如此出色,有的网站,由于访问量太小,需要节省成本,将多个网站部署在同一台服务器上。
server {
listen 80 default_server;
server_name _;
return 444; # 过滤其他域名的请求,返回444状态码
}
server {
listen 80;
server_name www.aaa.com; # www.aaa.com域名
location / {
proxy_pass http://localhost:8080; # 对应端口号8080
}
}
server {
listen 80;
server_name www.bbb.com; # www.bbb.com域名
location / {
proxy_pass http://localhost:8081; # 对应端口号8081
}
}
Nginx常用命令
nginx -s quit nginx停止,当存在连接时会等连接请求完成再杀死运行中的进程
nginx -s reload 重启,并重新载入配置文件nginx.conf
nginx -s reopen 重新打开日志文件,一般用于切割日志
nginx -v 查看nginx版本
nginx -t 检查nginx.conf配置文件配置的是否存在语法错误
nginx -h 查看帮助信息
nginx -V 详细版本信息
nginx -c filename 指定配置文件