通过nginx反向代理可以把ip用类似www.baidu.com显示出来
1、先在C:\Windows\System32\drivers\etc\HOSTS进行修改,可以用SwitchHosts修改
# leyou
192.168.32.130 www.leyou.com 这些ip是虚拟机的ip192.168.32.130 manage.leyou.com192.168.32.130 api.leyou.com2、修改nginx.conf
显示nginx
#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events { worker_connections 1024;}http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; #这步的话输入IP即可直接访问nginx 比如192.168.1.129 server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; } } #这步的话输入ip+端口 比如192.168.1.129:81即可访问到nginx server { listen 81; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html81; //这个html81是自己创建的,意思就是访问比如192.168.32.130:81的话,会访问html81下的index.jsp文件,只是为了区分 index index.html index.htm; } } #这个的话输入网址即可直接访问 比如www.e3-mall.com #前提是SwitchHost里面已经配置好了ip和域名的映射关系 server { listen 80; server_name www.e3-mall.com; //这个因为在SwitchHosts修改了配置文件,所以这里需要修改下 #charset koi8-r; #access_log logs/host.access.log main; location / { root html-e3; //这个html-e3是自己创建的,意思就是访问比如www.e3-mall.com的话,会访问html-e3下的index.jsp文件,只是为了区分
index index.html index.htm; } } }
****如果修改了nginx文件,需要在nginx的启动目录重新刷新一遍:nginx -s reload
反向代理:
显示tomcat
安装完tomcat后,输入ip+端口号即可显示tomcat,如192.168.1.129:8080 如果直接输入192.168.1.129,那么会访问到nginx,因为我们在上面已经配置了
下面就是反向代理,加在nginx.conf就可以了
比如我们访问www.haha.com,因为已经在switchhost配置了域名了,所以访问www.haha.com的时候,nginx会反向代理到192.168.1.129:8081上,注意8081是我们在tomcat修改了对应的端口号,
<Server port="8005"> <Connector port="8080"> <Connector port="8009"> 这些都需要修改,即如果修改成81端口,8005和8009也得换成和tomcat默认不同的,否则可能会报错。
upstream haha{ server 192.168.1.129:8081; } server { listen 80; server_name www.haha.com; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://haha; index index.html index.htm; } } upstream e3-mall { server 192.168.1.129:8080; #负载均衡 有多少个服务器就加 server 192.168.1.129:8082 weight=2; } server { listen 80; server_name www.e3-mall.com; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://e3-mall; index index.html index.htm; } }
#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events { worker_connections 1024;}http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; gzip on; server { listen 80; server_name manage.leyou.com; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass http://192.168.32.1:9001; #主机地址下的9001端口,就是自己电脑的ip proxy_connect_timeout 600; proxy_read_timeout 600; } } server { listen 80; server_name api.leyou.com; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass http://192.168.32.1:10010; proxy_connect_timeout 600; proxy_read_timeout 600; } }}
3、重启配置文件,在nginx目录输入 nginx -s reload即可