1:内网配置虚拟主机
windownx在C:\Windows\System32\drivers\etc\hosts中添加内网配置ip与域名的映射
2:linux在/etc/hosts中配置ip与域名的映射.
3:配置好后ping一下查看是否成功.未丢失说明配置成功
4:在nginx.conf文件中配置nginx拦截host请求头请求
server {
listen 80;
server_name zhouchaoneng.com;//这个是映射hosts文件中路径
location / {
root t1; //nginx文件中映射创建一个t1文件.
index index.html;//t1响应文件下的index.html内容
}
}
5:在nginx下创建t1文件,下创建index.html
6: /usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
返回结果为ok说明配置没有问题
7: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
启动成功!
如果报错:
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use):
出现这种问题,多半是80端口被占用了。
先使用以下命令查看当前进程 :netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1168/sshd
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 19580/nginx: master
tcp6 0 0 :::8009 :::* LISTEN 8919/java
tcp6 0 0 :::3306 :::* LISTEN 1635/mysqld
tcp6 0 0 :::8080 :::* LISTEN 8919/java
tcp6 0 0 :::22 :::* LISTEN 1168/sshd
tcp6 0 0 127.0.0.1:8088 :::* LISTEN 8919/java
80端口被占用,使用:kill 19580 删除这个进程,再次启动就可以了.
nginx反向代理集群:
1:游览器通过域名-zhangxun.com请求服务器
2:在nginx/conf文件中添加:集群配置
#集群
upstream tomcat{
server 175.178.71.232:808; //可以配置多个tomcat服务器处理请求
}
server {
listen 80;
server_name zhangxun.com weight 10 down ;//域名拦截host请求头, weight权重.值越大分配可能性越大。 down表示服务器下线,需要维护时使用.
location / {
location / {
proxy_pass http://tomcat; //映射到服务器
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
}
3:负载均衡,配置集群,让nginx实现多个服务器来处理用户请求.
4:nginx集群的负载均衡策略:
nginx内嵌的均衡策略:
1:轮询策略,是默认nginx集群的策略,可以为性能好的服务器增加权重。 集群中添加参数weight 比较均匀,值越大处理请求几率越高
--可以配合Redis实现Session共享
2:ip_hash ip散列,根据用户的ip地址映射到固定的服务器,
不会发生改变.
5:使用默认均衡策略;
轮询策略出现session丢失问题
github找将tomcat中session数据保存到redis数据库中.
服务器临时下线问题.在对应的server映射添加参数down 停止服务器.