nginxphp編譯
A. 如何在linux下使Nginx和Apache共存,並同時支持php
1、mysql,參考linux下源碼安裝mysql
2、php,參考linux下源碼安裝nginx + php筆錄
編譯參數:./configure --prefix=/usr/local/php --with-gd --enable-gd-native-ttf --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-mysql=/usr/local/mysql --enable-fastcgi --enable-fpm --with-mysqli=/usr/local/mysql/bin/mysql_config
3、nginx,參考linux下源碼安裝nginx + php筆錄
4、apache,
編譯參數:./cigure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=most
查看以前的編譯選項(如果以前安裝過的話):cat /usr/local/apache2/build/config.nice
http.conf添加以下兩行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
虛擬主機設置:
<VirtualHost 192.168.42.129>
ServerAdmin [email protected]
DocumentRoot /var/www/other-test
ServerName other-test.com
ErrorLog logs/www.other-test.com-error_log
CustomLog logs/www.other-test.com-access_log common
<Directory "/var/www/other-test">
Options Indexes FollowSymlinks MultiViews
AllowOverride None
DirectoryIndex index.html index.php
Order allow,deny
Allow from All
</Directory>
</VirtualHost>
5、重新編譯、安裝php是能夠在apache上運行,編譯參數:./configure --prefix=/usr/local/php --with-gd --enable-gd-native-ttf --with-freetype-dir --with-jpeg-dir --with-png-dir --with-mysql=/usr/local/mysql --with-zlib --enable-fastcgi --enable-fpm --with-apxs2=/usr/local/apache2/bin/apxs --with-mysqli=/usr/local/mysql/bin/mysql_config
cp php.ini-dist /usr/local/php/lib/php.ini
重啟apache,如果發現正斗錯誤「cannot restore segment prot after reloc: Permission denied」解決方案舉判磨:
1. chcon -t /usr/local/apache2/moles/libphp5.so
2. #vi /etc/sysconfig/selinux file 或者用 #gedit /etc/沖唯sysconfig/selinux file 修改SELINUX=disabled 重啟
B. 如何架設Nginx+Php Web伺服器
由於每個過程較繁瑣,所以這里說說具體步驟,每個步驟的具體內容可以網路搜索。
安裝步驟
一、 編譯安裝PHP5.2.9所需的支持庫
二、編譯安裝MySQL 5.1.34擴展庫
三、編譯安裝PHP(FastCGI模式)
四、修改php-fpm配置文件
五、創建www用戶組及www用戶
六、編譯安裝Nginx
七、創建fcgi.conf文件
八、編輯Nginx配置文件
九、配置開機自動啟動Nginx + PHP
十、優化Linux內核參數
C. 求大神指導Centos7 源碼編譯安裝Nginx+PHP 配置動靜分離
這個是我的服務的實際 將配置Nginx實現動靜分離,對php頁面的請求轉發給LAMP處理,而靜態頁面交給Nginx,以實現動靜分離。客戶請求靜態數據給Nginx,Nginx直接應答客戶端,當請求動態數據到Nginx時,Nginx讓客戶端去找LAMP,通過代理的方式,LAMP就和客戶端連接了。分別配置動態分離和靜態分離
(1)架設並調試後端LAMP架構,指定的域名,IP地址為xxxx,創建動態頁面test.php。
(2)配置Nginx(xxxx)處理動態頁面請求,並把域名改為 chaodiquan.com 在server{};段中加入以下代碼,檢測語法後,重啟Nginx
(3)客戶端輸入xxxx/test.php 成功後動態分離就實現了,接下來再配置靜態分離
(4)配置Nginx處理靜態頁面請求,在server{};中加入以下代碼,檢測語法後,重啟Nginx
location ~ .*.(gif|jpg|jpeg|bmp|swf)$ { #這段代碼意思是任意網址以這5種格式為結尾就到Nginx根目錄下的html文件夾尋找資源
root html;
expires 1d; #緩存一天}
(5)在nginx的html目錄中,放入圖片aa.jpg,然後在apache的動態測試頁test.php中添加
<html>
<body>
<img src="aaaa/aa.jpg">
</body>
</html>
(6)客戶端輸入xxxx/test.php測試,由於test.php是動態頁面,因此客戶端會找到LAMP架構中的Apache,然後調取圖片aa.jpg是靜態數據,所以從Nginx提取,最後反饋給客戶端。這個是