昨天写了一个servlet,调试的过程学习到了不少东西。
首先前端和服务端是分开的。前端项目放在nginx中,http请求通过nginx转发。一个
表单的action=‘’/ka_upload“,nginx conf中配置为
location /ka_ { proxy_pass http://localhost:8080/kmgw/access/post; proxy_redirect default; # 其他省略}
通过firebug发现,http://localost:80/ka_upload 一直是404。http://localost:80/ka_upload表示nginx已经接收到了请求,location的ka_在后面自动追加upload。那它没有转到proxy_pass的url吗?其实它应该是也把upload追加到proxy_pass的后面了,相当于http://localhost/kmgw/access/postupload,这当然是404了。第一种方法,loaction改成 /ka_upload,完全匹配到(可以加上=)。第二是把要转发的应用的url风格弄得和loaction的一样,比如保证http://localhost:8080/kmgw/ka_upload是正确可访问的。
nginx的配置还有很多,暂时未能一一熟悉。
tomcat的话之前一直以为要运行项目,必须放在webapp下,其实还有其他方法。
1. 打包成war ,拷贝到tomcat/webapp/目录下
这种方法,tomcat启动后,会自动解压到同名目录下,访问路径带上目录名即可
2. 修改conf/server.xml
修改conf / server.xml,里面找到这段配置
在里面增加配置,即增加了一个web应用,比如:
这里path如果为空,即可以直接通过域名访问。写上path=具体值,则要加上项目名,http://localhost:8080/具体值/..... 。风闻,这种配置方式不被推荐
3. 不修改server.xml【推荐使用此方法】
在tomcat文件夹的confcatalinalocalhost(对于tomcat6版本及其以上,需要自己创建catalina和localhost这两个文件夹)下新建一个xml文件。内容为 注意,这种方式,配置path=**** 是无效的,具体web访问的路径以新配置的xml文件名为准,比如配置的为 kkk.xml ,那么访问这个web应用就需要/kkk/
参考 http://blog.csdn.net/lawmansoft/article/details/7394331
以上就介绍了nginx loaction配置和tomcat部署方式,包括了tomcat,action方面的内容,希望对php教程有兴趣的朋友有所帮助。