nginx处理静态html页面的能力相当强悍,因为nginx采用了比select模型更拽的epoll ,所以若网站内容不是经常变动(大量的html页面),又需要同时支持其他诸如php、jsp的cgi脚本的,可以考虑使用nginx代替依然在使用select模型的apache(httpd);当然经过长期跟踪发现nginx的fastcgi(php-fpm)运行php会时不时的出现502的错误,而且似乎还没有办法彻底根除;所以不考虑超大流量的情况下配置php-fpm的方式让nginx支持php是个不错的选择,当然你也可以采用nginx的代理模块,来代理apache处理php,这块网络上已经有很多资料了,不再赘述~本文主要针对同一80端口下的nginx同时支持php、jsp;因本人对jsp了解不多,错误之处还请包涵。
nginx作为一款新秀服务器软件,对于fastcgi方式支持php的相关资料已经很多了,随便搜索一下就可以找到许多,这里就不再介绍nginx支持php的配置了,如果需要了解这方面的知识,可以参考本人的另外一篇文章:
文章名:《CentOS6.3下编译安装配置nginx1.2.3+php5.3.16+mysql5.5.27+memcached1.4.5 》
地址:https://blog.jjonline.cn/linux/centos6_3_nginx1_2_3_mysql5_5_27.html
Ps:nginx php mysql版本的不同配置原理类似,若有问题,可以给我留言,时间允许的情况下本人可以协助您排查~
==============
tomcat6安装运行
centos下安装支持jsp的tomcat服务器相当简单,一条yum命令全部搞定,当然你也可以参照网络上已有的代码编译模式或者rpm包安装模式安装,本文不再介绍。
tomcat安装(tomcat6版本):
-----------------------
shell命令:
yum install tomcat6 tomcat6-webapps tomcat6-admin-webapps
-----------------------
yum命令执行完毕,tomcat6就安装完成;
tomcat6启动:yum安装的tomcat6已经自动安装了chkconfig服务的命令,也就是可以采用诸如service httpd start之类的命令启动、停止、重启tomcat6
-----------------------
shell命令:
service tomcat6 start|stop|restart
-----------------------
tomcat6的配置
由于nginx php-fpm早已安装,根目录也已指定,而且恰好nginx的各个虚拟主机均在/mnt/下,比如:www.jjonline.cn的根目录在/mnt/www 我的博客blog.jjonline.cn在/mnt/blog 以此类推
所以需要配置下tomcat的根目录,在/etc/tomcat6目录下的server.xml文件中,找到</Host>在</Host>之前添加
<Context path="" docBase="/mnt/" debug="0"/>
即可【本人的配置不具有通用性,仅仅是因为之前的各个虚拟主机的根目录平行放置在/mnt下,所以采用如上配置,tomcat默认端口为8080,需要修改的请自行查找资料】。
nginx代理tomcat配置
打开nginx的配置文件,在server中添加一个location,代码如下:
------------------------
location ~ \.(jsp|jspx|do|wsdl)?$ {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass https://127.0.0.1:8080/XXXX$uri;
}
------------------------
请注意,tomcat的根目录在/mnt下,而php、html的根目录在/mnt/xxx的目录下,如上述的/mnt/www即为www.jjonline.cn根目录,所以此处www.jjonline.cn要支持jsp,则需要将上述location中的红色XXXX部分改为www
哟嚯,本文评论功能关闭啦~