php部署tomcat
㈠ 在现有的linux tomcat7环境下,怎么增加支持php的网站
正常搭建lamp环境就行了啊,只是web服务器的端口不要和tomcat的一样就行了。先安装和配置好Nginx和PHP-FPM,再把80端口的Tomcat调成8080端口,Ubuntu/Debian可以这样安装Nginx和PHP-FPM: sudo apt-get install nginx php5-fpm php5-mysqlnd php5-gd
假设这个java站的域名是java.net.你现在想添加一个域名php.net也解析到你的这台服务器.这时就建议你引入一个Nginx了,配置2个server{}块,一个域名是java.net,请求proxy_pass给监听8080端口的Tomcat,一个域名设为php.net,请求fastcgi_pass给监听9000端口的PHP-FPM.
Nginx配置示例如下:
server {
listen 80;
server_name java.net;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8080;
}
}
server {
listen 80;
server_name php.net;
location ~ \.php$ {
try_files $uri =404;
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
㈡ tomcat支持php吗
让Tomcat支持PHP
在负责一个采用JSP动态网页技术的网站时,刚好手头有PHP写的一部分功能,所以就很直接地想到让Tomcat支持PHP。Tomcat也是Apache出的,难道就只支持JSP吗?到底能否在Tomcat上用PHP呢?上网搜索了一番,很快有了第一个问题的答案:Tomcat可以支持CGI,如Perl(具体设置见附文)。但继续搜索,却迟迟无法找到让Tomcat使用PHP的方法,一般都是采取装Apache和Tomcat共存的方法来搭建所谓的支持PHP+JSP的Web平台。
当然,其实PHP本身也支持CGI方式的使用,所以就自己动手试了一试(在Windows操作系统上):先按照附文的做法让Tomcat支持CGI,然后再改web.xml,在servlet-name为cgi的一段配置中加上:
<init-param>
<param-name>executable</param-name>
<param-value>php</param-value>
</init-param>
并把PHP安装路径加入Path,这样Tomcat就能运行到PHP.exe了。重启Tomcat后,在WEB-INF目录下新建一个cgi目录,把php文件放在这里,然后访问时用虚拟映射出来的cgi-bin目录来访问这些PHP文件。
但是如果对PHP文件不加任何改动的话,可能会发现什么输出都没有。需要在PHP文件头部加一行,输出两个回车:
echo "\n\n";
原因不太清楚。可能在等待Content-type输入,或是Perl的cgi程序风格。
但这样配置,PHP(4.1.0以上版本)中$_REQUEST、$_GET、$_POST等变量就无法用了,只能从服务器变量或环境变量中获取QueryString了:$_SERVER["QUERY_STRING"]、$_ENV["QUERY_STRING"]。也许不支持表单的POST提交了……具体还没试过。
由于对Tomcat不熟悉,所以这些只是在现在方法上的小修小补,可能有好的做法,还希望大家不吝指教!