nginx:
linux的安装
安装依赖
yum install -y pcre*
yum install -y zlib*
使用nginx的源码安装
- 配置:
在nginx的解压目录下运行:
./configure - 编译
在nginx的解压目录下运行:
make - 安装:
make install
使用命令
a) 启动
执行 /usr/local/nginx/sbin/nginx 命令
b) 停止
执行 /usr/local/nginx/sbin/nginx -s stop 强制停止
执行 /usr/local/nginx/sbin/nginx -s quit 正常停止
c) 测试修改后的配置文件语法是否正确
/usr/local/nginx/sbin/nginx -t
d) 重新加载配置文件
/usr/local/nginx/sbin/nginx -s reload
第二步和第三步可以合为一步:
make && make install
配置
配置 http模块和server模块
a) 多虚拟主机配置
一个server模块表示一个虚拟主机
b) 反向代理
通过 location来匹配一步请求并转发到指定的服务器
location /auth {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://192.168.82.8:8080;
}
c) 负载均衡
默认的轮询
upstream backendserver {
server 192.168.82.8:8081;
server 192.168.82.8:8082;
}
按权重
upstream backendserver {
server 192.168.82.8:8081 weight=1;
server 192.168.82.8:8082 weight=2;
}
按ip做hash来确定要去的服务器
upstream backendserver {
ip_hash;
server 192.168.82.8:8081;
server 192.168.82.8:8082;
}
d) 热备模式
upstream backendserver {
server 192.168.82.8:8081;
server 192.168.82.8:8082 backup; # 备用服务器
}
server {
...
location /auth {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://backendserver;
}
...
}
静态内容处理
server {
...
# 精细化 配置相关静态资源参数,优化访问静态资源文件
location ~ .*\.(gif|jpg|jpeg|png)$ { # ~表示不区分大小写
expires 24h; # 缓存时间
root D:/tools/nginx/2/image1/;#指定图片存放路径
}
...
}
本机中做域名解析的配置文件:
当系统通过域名查找ip的时候,会先找 hosts 文件中映射,
如果找到,就直接到对应的ip了,如果没有,再通过dns服务器来解析域名
C:\Windows\System32\drivers\etc\hosts
课下要求
1 安装nginx
2 运行多个tomcat
3 运行nginx,把itrip的前端项目资源(运行npm run build,然后把build目录下的内容)复制到nginx的html目录下
4 把以auth开头的请求转发到放auth项目的tomcat中
5 在外面的浏览器中访问nginx的静态内容,做登录
把虚拟机拍个快照,安装Tengine+lua+GraphicsMagick环境