Nginx用来处理静态页面的请求,JSP交给Tomcat处理
- 安装JDK
安装后,配置好JAVA_HOME和PATH
Mac查看JAVA_HOME路径的方法:/usr/libexec/java_home
- 安装Tomcat
将安装包解压后,将目录配置为 CATALINA_HOME 环境变量,同时将bin目录添加到path中
一般我还会设置一下 tomcat-user.xml
项目路径配置在server.xml中
当Nginx与Tomcat都安装好后,Ngnix监听80端口,Tomcat监听8080端口,用户请求先给80端口,Ngnix判断请求情况,决定是自己处理还是交给Tomcat处理
在Ngnix的conf目录下,建一个配置文件,如:tomcat.conf,配置如下:
user nobody; worker_processes 4; events { worker_connections 1024; } http{ server{ listen 127.0.0.1:80; server_name 127.0.0.1; access_log logs/server1,access.log combined; location ~\.(jsp|jspx|do)?$ { root /Users/sherry/WorkPath/tomcat/webApps; index index.jsp index.jspx index.html; proxy_set_header X-Forwared-Host $host; proxy_set_header X-Forwared-Server $host; proxy_set_header X-Forwared-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:8080; } } }
启动Nginx nginx -c tomcat.conf 注意:这里就一定要指定配置文件进行启动了
然后就可以像是在访问Ngnix服务器一样访问tomcat上部署的工程了
这也就是Ngnix的反向代理
个人思考:原先部署在Tomcat上的程序,在jsp页面上,难免会去引入一些静态资源,如css、js、图片等,而现在肯定是要将这些静态资源放在Ngnix服务器上了
所以在实际部署的时候,静态资源文件和用到这些静态资源的jsp页面会不在同一个服务器上,这点要自己清楚。
Mac下配置环境变量的地方
/etc/paths
~/.bash_profile
Linux下配置环境变量的地方
/etc/profile
~/.bashrc
关于在哪里配置环境变量,只有知道环境变量有全局与当前用户之分即可,配置完后,注意 source 命令使其生效