1Nginx安装和常用命令
怎么安装的可以参考这里,讲的非常详细。
./nginx ->启动Nginx
./nginx -s stop -> 关闭Nginx
./nginx -s reload -> 重启Nginx
2Nginx静态网页部署
2.1 静态网页部署
- 首先将静态网页index上传到./nginx/目录下面
- 再将静态网页regist上传到./nginx/目录下面
- 修改配置文件:vim ./nginx/conf/nginx.conf,主要修改的地方如下所示
- 这里上传了两个静态页面,配置上面文件,使用户可以同时访问这两个页面
- 当输入IP访问网页时,默认时访问80端口,访问其他端口需要IP:端口号,如127.0.0.0:81
- 地址栏输入http://127.0.0.0/:81 可以看到首页面
- 地址栏输入http://127.0.0.0/:82 可以看到注册页面
server {
listen 81; # 监听的端口
server_name localhost; # 域名或ip
location / { # 访问路径配置
root index;# 根目录
index index.html index.htm; # 默认首页
}
}
server {
listen 82; # 监听的端口
server_name localhost; # 域名或ip
location / { # 访问路径配置
root regist;# 根目录
index regist.html; # 默认首页
}
}
2.2域名与IP绑定
- 一个域名对应一个IP地址,一个IP地址可以被多个域名绑定。
- 本地测试可以修改hosts文件(/etc/hosts)
如:
192.168.177.129 www.hmtravel.com
192.168.177.129 regist.hmtravel.com - 如果 hosts 文件中配置了域名和 ip 的对应关系,不需要走dns 服务器
- 修改Nginx配置文件vim ./nginx/conf/nginx.conf如下
- 执行 ./nginx -s reload 刷新配置
- 地址栏输入http://www.hmtravel.com/或者http://regist.hmtravel.com即可访问
server {
listen 80;
server_name www.hmtravel.com;
location / {
root index;
index index.html;
}
}
server {
listen 80;
server_name regist.hmtravel.com;
location / {
root regist;
index regist.html;
}
}
3Nginx反向代理和负载均衡
3.1反向代理
- 正向代理:正向代理服务的特点是代理服务器代理的对象是浏览器/客户端,也就是对于目标服务器来说浏览器/客户端是隐藏的。
- 什么是反向代理:对于客户端来说,服务端是隐藏的,客户不知道他们具体访问的是那一台服务器
- 实现反向代理
- 首先需要将案例部署到LInux的tomcat中
- 启动tomcat,输入http//192.168.177.129:8080(自己的IP),可以看到网站首页
- 修改Nginx配置文件vim ./nginx/conf/nginx.conf
- 重启Nginx,./nginx -s reload,然后用浏览器测试:http://www.hmtravel.com (此域名须配置域名指向,在/etc/hosts中配置)
# 名字随便
upstream tomcat-travel{
server 192.168.177.129:8080;
}
server {
listen 80; # 监听的端口
server_name www.hmtravel.com; # 域名或ip
location / { # 访问路径配置
# root index; # 根目录 注释
proxy_pass http://tomcat-travel;
index index.html index.htm; # 默认首页
}
}
3.2负载均衡
相当于用户访问时,可以随机访问被代理的一台服务器,来减少每台服务其的负载,步骤如下,参考视频:
- 将上面存放工程的tomcat复制三份,修改端口分别为8080,8081,8082.
- 分别启动这三个tomcat服务器(目前是在一个服务器上测试的,在实际中,这三个一样的项目是部署在不同的服务器上)
- 可以修改每个首页的标题以区分访问的那个服务器网站
- 修改Nginx配置文件
- 访问http://www.hmtravel.com/
upstream tomcat-travel {
server 192.168.177.129:8080 weight=2; #设置权重,默认为1
server 192.168.177.129:8081;
server 192.168.177.129:8082;
}
server {
listen 80; # 监听的端口
server_name www.hmtravel.com; # 域名或ip
location / { # 访问路径配置
# root index;# 根目录
proxy_pass http://tomcat-travel;
index index.html index.htm; # 默认首页
}
error_page 500 502 503 504 /50x.html; # 错误页面
location = /50x.html {
root html;
}
}