安装Nginx(Mac环境)
# 检查brew是否是最新的
brew update
# 安装nginx
brew install nginx
# 显示Nginx的版本信息
nginx -v
# 相关命令如下:
# 启动Nginx,如果需要权限则在前面加上sudo
nginx
# 重启Nginx,如果需要权限则在前面加上sudo
nginx -s reload
# 常规关闭方式
nginx -s quit
# 强制关闭方式
nginx -s stop
安装Nginx(Ubuntu18.04环境)
# 检查apt-get是否是最新的
sudo apt-get update
# 安装nginx
sudo apt-get install nginx
# 显示Nginx的版本信息
nginx -v
# 相关命令如下:
# 启动Nginx,如果需要权限则在前面加上sudo
service nginx start
# 重启Nginx,如果需要权限则在前面加上sudo
service nginx restart
# 关闭方nginx
service nginx stop
配置Nginx
- 找到Nginx的配置文件,Mac的默认位置在
/usr/local/etc/nginx/nginx.conf
,Ubuntu的默认位置为/etc/nginx/nginx.conf
- 找到之后打开该文件,主要更改的是http配置
# 服务器集群名称,一般使用域名来命名,需与下面的location地址对应
http {
include mime.types;
default_type application/octet-stream;
sendfile on; # 开启高效文件传输模式
keepalive_timeout 65; # 长连接超时时间,单位是秒
upstream www.haha.com {
# 默认轮询访问,即按顺序循环访问
server 127.0.0.1:10001; # 这里是第一台服务器
server 127.0.0.1:10002; # 这里是第二台服务器
server 127.0.0.1:10003 backup; # 这里是第三台服务器,其中backup代表备份,默认不会调用这台服务器
# 权重访问,按照权重来访问,比如四次访问前三次是第一台服务器,第四次是第二台服务器
# server 127.0.0.1:10001 weight=3;
# server 127.0.0.1:10002 weight=1;
# IP策略访问,根据IP地址的hash值来选择访问的服务器,保证了一个IP地址多次访问的服务器一致
# ip_hash;
# server 127.0.0.1:10001;
# server 127.0.0.1:10002;
}
# 一个server配置相当于一个虚拟主机
server {
listen 80; # 配置当前Nginx监听的端口
server_name www.xxx.com; # 配置Nginx拦截的域名
# 配置反向代理
location / { # 其中“/”代表拦截所有路径
proxy_pass http://www.haha.com; # 这里是配置转换成为的地址,若有集群需要和集群名称一致
}
# 配置静态资源1
location /static {
root /opt/nginx; # 这里相当于遇到了“/static/”的请求会从“/opt/nginx/static”路径下去查找资源
alias /opt/nginx/static; # 与上述语句意义一样
}
# 配置静态资源2,其中开头的“~”代表后续的语句符合正则,此处表示所有满足该后缀的文件都会去“/opt/nginx/static”下寻找
location ~ .*\.(gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ {
root /opt/nginx/static;
}
# 配置错误页面
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
- 若有多个地址需要转换,则可在
nginx.conf
文件中设置多个server模块
- 设置好之后,再次访问对应的资源路径时,Nginx就会根据对应的域名进行地址的转换