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不熟悉,所以這些只是在現在方法上的小修小補,可能有好的做法,還希望大家不吝指教!