windows版 nginx配置反向代理实例教程 跳转tomcat和php网站
抄自
https://www.cnblogs.com/j-star/p/8785334.html
个人理解
nginx端口设置为80,简称n
tomcat端口设置为其他,例如8080,简称t
php网站和javaweb网站域名解析到服务器上面
当访问java域名时,n判断为java网站,就跳转到tomcat
当访问php域名时,n判断为php网站,就不跳转了
n就是个快递员
http中的server可以添加多个,每一个就是一个判断吧(大概)
下面是我的一个n的配置文件,第一个server是自带,第二个是判断javaseb的
# power by www.phpStudy.net #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;#tcp_nodelay on;fastcgi_connect_timeout 300;fastcgi_send_timeout 300;fastcgi_read_timeout 300;fastcgi_buffer_size 128k;fastcgi_buffers 4 128k;fastcgi_busy_buffers_size 256k;fastcgi_temp_file_write_size 256k;#gzip on;gzip on;gzip_min_length 1k;gzip_buffers 4 32k;gzip_http_version 1.1;gzip_comp_level 2;gzip_types text/plain application/x-javascript text/css application/xml;gzip_vary on;gzip_disable "MSIE [1-6].";server_names_hash_bucket_size 128;client_max_body_size 100m; client_header_buffer_size 256k;large_client_header_buffers 4 256k;server {listen 80;server_name localhost;#charset koi8-r;#access_log logs/host.access.log main;root "C:/php/XXX/WWW/test";location / {index index.php index.html index.htm l.php;autoindex off;}#error_page 404 /404.html; # redirect server error pages to the static page /50x.html #error_page 500 502 503 504 /50x.html;location = /50x.html {root "C:/php/XXX/WWW/test";}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {# proxy_pass http://127.0.0.1; #}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000#location ~ \.php(.*)$ {fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_split_path_info ^((?U).+\.php)(/?.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_param PATH_INFO $fastcgi_path_info;fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;include fastcgi_params;}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht { # deny all;#}}server{listen 80; server_name www.XXX.com;#charset koi8-r;#access_log logs/host.access.log main;location / {proxy_pass http://www.XXX.com:8080; index index.html index.htm;}}# another virtual host using mix of IP-, name-, and port-based configuration##server {# listen 8000;# listen somename:8080;# server_name somename alias another.alias;# location / {# root html;# index index.html index.htm;# }#}# HTTPS server##server {# listen 443;# server_name localhost;# ssl on;# ssl_certificate cert.pem;# ssl_certificate_key cert.key;# ssl_session_timeout 5m;# ssl_protocols SSLv2 SSLv3 TLSv1;# ssl_ciphers HIGH:!aNULL:!MD5;# ssl_prefer_server_ciphers on;# location / {# root html;# index index.html index.htm;# }#}include vhosts.conf;}
以下是摘抄的内容
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强。
下面就详细的说一说如何用Nginx实现反向代理。
首先:来做点准备工作,最少两个tomcat,另外设置两个域名并解析到本地ip(因为nginx是直接配置域名)
(1)准备两个tomcat
分别设置两个tomcat的/conf/server.xml中的端口号,如下
tomcat1端口号分别设置为:8205 8280 8209
tomcat2端口号分别设置为:8215 8281 8219
(2)添加测试内容
分别删除目录webapps下所有文件,新建一个文件夹ROOT,并在该目录下新建index.html
内容可以设置为:这里是8280端口。(另一个:这里是8281端口。)
(3)启动两个tomcat
(4)分别访问两个tomcat下的项目
访问下面两个网址:
127.0.0.1/8280
127.0.0.1/8281
如果能够访问到对应的index.html文件就说明tomcat配置且启动成功。
(5)设置两个域名并做解析
修改hosts文件,目的是为了设置2个域名, tomcat1.com和 tomcat2.com并且解析到本地ip:127.0.0.1
路径:C:\Windows\System32\drivers\etc
打开hosts文件,加上(如果修改后无法保存,可以把hosts文件复制到桌面,修改完成后再替换原有hosts文件)
添加内容如下:
127.0.0.1 tomcat1.com
127.0.0.1 tomcat2.com
(6)测试域名是否解析成功
127.0.0.1/8280;127.0.0.1/8281分别修改为
tomcat1.com:8280;tomcat2.com:8281
如果显示结果如上图所示,说明域名设置并解析成功。
下面开始正式配置Nginx服务器的方向代理。
1. 下载、安装Nginx服务器
输入网址:http://nginx.org/en/download.html ,选个合适的版本,下载后解压到合适的路径。
解压后,如图所示:nginx.exe可以直接运行,但是不建议。
2. 配置反向代理
打开/conf/nainx.conf文件,删除server{ …… },或者注销掉
重新添加server{ }
listen:监听的端口号
server_name: 访问域名
location :这里配置为/ 直接匹配端口下的默认ROOT下的项目,location内容很广泛,
参见:https://segmentfault.com/a/1190000009651161
proxy_pass :为项目的实际访问地址
server {listen 80; server_name tomcat1.com;#charset koi8-r;#access_log logs/host.access.log main;location / {proxy_pass http://127.0.0.1:8280;index index.html index.htm;}} server {listen 80;server_name tomcat2.com;#charset koi8-r;#access_log logs/host.access.log main;location / {proxy_pass http://127.0.0.1:8281;index index.html index.htm;}}
3.启动、关闭、重启Nginx服务器
打开cmd.exe运行命令。
注意:一定要在nginx.exe文件所在的文件夹下操作。
(1)启动:
H:\nginx-1.12.2>start nginx
或H:\nginx-1.12.2>nginx.exe
注:建议使用第一种,第二种会使你的cmd窗口一直处于执行中,不能进行其他命令操作。
(2)停止:
H:\nginx-1.12.2>nginx.exe -s stop
或H:\nginx-1.12.2>nginx.exe -s quit
注:stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息。
(3)重新载入Nginx:
H:\nginx-1.12.2>nginx.exe -s reload
当配置信息修改,需要重新载入这些配置时使用此命令。
(4)重新打开日志文件:
H:\nginx-1.12.2>nginx.exe -s reopen
4. 测试是否配置成功
输入域名:tomcat1.com和tomcat2.com
如果输入域名后显示如上图,即为成功配置。
5.可能会遇到的问题(进程关闭失败)
在使用的过程中,你可能会遇到一个很奇葩的问题,就是当关闭命令执行了无数遍,页面却还是可以直接用域名访问。
这个时候就说明你的进程并没有真正关闭,我们可以用命令来查询一下:
cmd中输入:netstat -an|find "0:80"
如果有,说明真的没有关闭这个进程。没有,那就看看是不是浏览器缓存的问题。
针对进程不能正常关闭,可以用如下命令来关闭:taskkill /F /IM nginx.exe > nul
以上就是用nginx服务器做反向代理服务器的全部内容,希望对你有所帮助。
转载于:https://www.cnblogs.com/zonglonglong/p/10689821.html
windows版 nginx配置反向代理实例教程 跳转tomcat和php网站相关推荐
- windows 系统nginx做反向代理实例
背景:客户原系统win-server 已经安装有web服务占用端口80,使用的集成工具phpstudy实现. 现添加新项目,tomcat+jdk+mysql 最终实现web端访问两个域名显示两个网站. ...
- nginx配置反向代理和负载均衡完结篇
具体安装配置参考之前的文章 https://blog.csdn.net/weixin_44001965/article/details/102723855 文章目录 一,nginx操作的常用命令 ng ...
- Nginx配置反向代理访问内部服务
Nginx可以提供高性能的反向代理服务,将客户机请求转发给内部网络中隐藏在幕后的真正的服务器,并将从服务器上得到的结果数据返回给Internet上请求的客户端,在用户看来,Nginx扮演的就是真实服务 ...
- Windos环境用Nginx配置反向代理和负载均衡
Windos环境用Nginx配置反向代理和负载均衡 引言:在前后端分离架构下,难免会遇到跨域问题.目前的解决方案大致有JSONP,反向代理,CORS这三种方式.JSONP兼容性良好,最大的缺点是只支持 ...
- nginx配置反向代理浏览器输入地址后点击登陆URL发生变化的处理
今天项目上需要再用NGINX配置反向代理需求如下: 现在有A服务器只做为nginx服务器,B服务器作为代码服务器,用户访问A要实际上访问的是B的程序. 处理方式就是用nginx的方向代理处理即可: 打 ...
- nginx配置反向代理过程中遇到的坑 配置好之后报404问题
项目场景: nginx配置反向代理路径 问题描述 在配置nginx反向代理的过程中,路径可以匹配上但是一直报404,找不到路径.nginx配置如下: location /business {add_h ...
- Nginx配置反向代理,一篇搞定!
欢迎关注方志朋的博客,回复"666"获面试宝典 来源:blog.csdn.net/zxd1435513775/article/ details/102508463 一.引言 其他话 ...
- 淘淘商城第89讲——nginx配置反向代理
什么是反向代理? 我们经常听说反向代理这个概念,既然有反向代理,那么就应该有正向代理,那什么是正向代理呢?如下图所示,所谓的正向代理是指当用户发起请求时无法直接访问到某个网站(比如我们经常要访问外网) ...
- Nginx配置——反向代理
文章目录 0. 引言 1.何为反向代理? 2. Nginx配置文件 2.1 第一部分:全局块 2.2 第二部分:events 块 2.3 第三部分:http 块 2.3.1 全局 server 块 2 ...
最新文章
- Jupyter Notebook学习笔记
- linux内核网络协议栈--网卡报文收发(十六)
- 数据结构-编程实现一个单链表的测长
- html 页面重复度高,html – CSS背景渐变重复问题
- 漫话:如何给女朋友解释String对象是不可变的?
- 【Liunx】Linux 文件与目录管理
- 三分钟小课堂-----------------docker(三)增删改查命令
- Softmax回归概论
- sql关联查询子表的第一条_SQLAlchemy(8)惰性查询
- Delphi 集合和字符串互转
- 《概率统计》知识点(持续更新……)
- JS导出页面为PDF,分页导出
- 嗅探工具 --- wireshark、tcpdump、dsniff、ettercap、bettercap、netsniff-ng
- 聊天app开发——如何开发聊天app
- 四路模拟高清解码,CVI,四通道多合一同轴高清解码芯片方案
- Centos8 yum配置阿里云镜像
- 那村的人儿(村长)第十期数码照片后期处理全套培训教程
- android半透明闪退,移动端常见面试题一:移动端兼容解决方案
- 背阔肌(05):史密斯机俯身划船
- IT史记:愤怒的杰里·桑德斯