nginx編譯安裝php
❶ 我用nginx|+php搭建的一台web伺服器,另外搭建了一個mysql伺服器,請教下如何在php編譯的時候指向資料庫
如果你是採用源代碼編譯的mysql -with-mysql=後面寫上你的mysql目錄就成
如果你的mysql是rpm包安裝的 -with-mysql 什麼都不帶就成
❷ 如何在虛擬機上搭建php
虛擬機是window系統還是 linux系統。
window系統就很簡單了,直接下載一個集成環境,就可以運行了
linux 系統就要稍微麻煩點
1. php下載以及安裝
下載: wget http://am1.php.net/distributions/php-7.3.2.tar.gz
解壓: tar -zxvf php-7.3.2.tar.gz
進入目錄開始編譯安裝:
./configure --prefix=/opt/soft/php --enable-fpm
下面是直接把常用的擴展安裝好,免得後面在一個一個安裝(推薦)
./configure --prefix=/opt/soft/php --with-curl --with-mysqli --with-openssl --with-pdo-mysql --enable-fpm
make
sudo make install
設置快捷訪問方式: sudo cp /opt/soft/php/bin/php /usr/local/bin/
把php配置文件放在正確的位置
確認正確位置:php -i | grep php.ini
在下載的安裝包中將php配置文件移動過來: sudo cp /opt/packages/php-7.3.2/php.ini-proction /opt/soft/php/lib/php.ini
ps:以後可以通過 php --ini 查看文件所在位置
2. nginx下載以及安裝
和上面php一樣的步驟,下載--解壓--編譯--安裝
wget http://nginx.org/download/nginx-1.14.2.tar.gz
./configure --prefix=/opt/soft/nginx --sbin-path=/opt/soft/nginx/sbin/nginx --conf-path=/opt/soft/nginx/config/nginx.conf --error-log-path=/opt/soft/nginx/logs/error.log --pid-path=/opt/soft/nginx/logs/nginx.pid --http-log-path=/opt/soft/nginx/logs/access.log --with-http_stub_status_mole --with-http_ssl_mole
sudo make && make install
設置快捷訪問方式: sudo cp /opt/soft/nginx/sbin/nginx /usr/local/bin/
簡單配置nginx(詳細配置後面再重新開文章寫),然後瀏覽器直接訪問ip就能訪問了(這個時候只能訪問html,訪問php是直接下載文件)
開啟nginx: sudo nginx(sudo nginx -s reload 重啟nginx), 查看是否開起nginx: sudo netstat -anp | grep 80(埠號)
3. 配置nginx支持php
nginx不能直接和php通信,需要藉助FastCGI(高速地在HTTP伺服器和動態腳本語言間通信的介面),需要用到php-fpm(FastCGI Process Manager:FastCGI進程管理器, 他的具體概念可以參照這里搞清楚php-FPM到底是什麼),這也是為什麼在編譯安裝php的時候需要帶--enable-fpm這個擴展的原因.
I. 啟動php-fpm
進入到 /opt/soft/php/etc 這個目錄將php-fpm.conf.default改名為php-fpm.conf,編輯他查看最後一行
然後進入最後一行指向php-pm.d目錄,將www.conf.default改名成www.conf,並編輯成對應賬號,我這里是xunan
然後將/opt/soft/php/sbin/php-fpm設置快捷訪問方式,並啟動php-fpm,也就是執行下面兩個命令
sudo cp /opt/soft/php/sbin/php-fpm /usr/local/bin/ sudo php-fpm
ps: 重啟php-fpm: 先ps aux | grep php-fpm,然後kill掉對應的進程
II. 配置nginx支持php
具體配置:
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
按照上面配置完成後,在配置文件的root目錄下建立一個index.php,編輯
然後重啟nginx(sudo nginx -s reload),在瀏覽器ip訪問
❸ linux伺服器已經安裝了nginx,並且搭了一個java程序的情況想,怎麼安裝php服務,並把php程序放在裡面
直接安裝上PHP程序,然後在nginx中配置php文件使用php程序執行就可以了。兩者之間是沒有影響的,也就是說java程序和PHP程序是一樣的。你java怎麼配置的,PHP就可以怎麼配置。
❹ php和nginx安裝後怎麼配置
先安裝編譯依賴的一些組件
復制代碼 代碼如下:
yum install pcre pcre-devel openssl openssl-devel -y
1、解壓程序包
復制代碼 代碼如下:
tar xf nginx-1.10.0.tar.gz
cd nginx-1.10.0
2、預編譯配置參數
復制代碼 代碼如下:
./configure --user=www \
--group=www \
--prefix=/data/server/nginx \
--with-http_stub_status_mole \
--without-http-cache \
--with-http_ssl_mole \
--with-http_gzip_static_mole
3、執行編譯
復制代碼 代碼如下:
make && make install
4、替換配置文件
nginx.conf
user www www;
worker_processes 1;
error_log /u01/data/log/nginx/error.log crit;
pid /u01/data/server/nginx/logs/nginx.pid;
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 65535;
events
{
use epoll;
worker_connections 65535;
}
http {
include mime.types;
default_type application/octet-stream;
#charset gb2312;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 8m;
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;
#limit_zone crawler $binary_remote_addr 10m;
log_format main '$remote_addr - "$request_time" [$time_local] "$request" '
'"$status" $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
log_format '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for "$request_time"';
include /u01/alidata/server/nginx/conf/vhosts/*.conf;
❺ Linux系統中設置多版本PHP共存配合Nginx伺服器使用
應用環境
LNMP的環境,當前PHP版本5.3.8,遇到一個應用需求只支持PHP
5.2.x,又希望保持現有應用還是用PHP
5.3.8。也就是說需要兩個版本的PHP同時存在,供nginx根據需要調用不同版本。
思路
Nginx是通過PHP-FastCGI與PHP交互的。而PHP-FastCGI運行後會通過文件、或本地埠兩種方式進行監聽,在Nginx中配置相應的FastCGI監聽埠或文件即實現Nginx請求對PHP的解釋。
既然PHP-FastCGI是監聽埠和文件的,那就可以讓不同版本的PHP-FastCGI同時運行,監聽不同的埠或文件,Nginx中根據需求配置調用不同的PHP-FastCGI埠或文件,即可實現不同版本PHP共存了。
配置記錄
下面記錄簡單的配置流程,基於已經安裝了lnmp的debian環境。當前版本的PHP是5.3.8,位於/usr/local/php。
1.下載PHP-5.2.14及相關的FPM、autoconf組件:
mkdir
~/php5.2
cd
~/php5.2
wget
-c
http://museum.php.net/php5/php-5.2.14.tar.gz
wget
-c
http://php-fpm.org/downloads/php-5.2.14-fpm-0.5.14.diff.gz
2.解壓PHP-5.2.14,並打上PHP-FPM的補丁:
tar
zxvf
php-5.2.14.tar.gz
gzip
-cd
php-5.2.14-fpm-0.5.14.diff.gz
|
patch
-d
php-5.2.14
-p1
3.如果你已經通過lnmp安裝,應該已經安裝好了autoconf,如果沒有,請自行下載並編譯autoconf-2.13,然後設置autoconf環境變數:
export
PHP_AUTOCONF=/usr/local/autoconf-2.13/bin/autoconf¬
export
PHP_AUTOHEADER=/usr/local/autoconf-2.13/bin/autoheader
3.編譯安裝PHP-5.2.14在新的路徑(/usr/local/php-5.2.14)下,注意–prefix、–with-config-file-path的路徑,並且打開fastcgi和fpm選項:
cd
php-5.2.14/
./buildconf
--force
./configure
--prefix=/usr/local/php-5.2.14
--with-config-file-path=/usr/local/php-5.2.14/etc
--with-mysql=/usr/local/mysql
--with-mysqli=/usr/local/mysql/bin/mysql_config
--enable-fastcgi
--enable-fpm
make
ZEND_EXTRA_LIBS='-liconv'
make
install
4.設置/usr/local/php-5.2.14/etc/php-fpm.conf,監聽埠:
<value
name="listen_address">127.0.0.1:9001</value>
或者監聽文件:
<value
name="listen_address">/path/to/unix/socket</value>
其他參數根據伺服器環境和需求自行定製。
5.啟動php-fpm,以後可以通過php-fpm進行管理:
/usr/local/php-5.2.14/sbin/php-fpm
start
字php5.3.3後,php已經將php-fpm繼承到php中,而且內置的php-fpm默認不支持(start|stop|reload)的平滑啟動參數,需要使用官方源代碼中提供的啟動腳本來控制:
cp
-f
(php
-5.3.x-source-dir)/sapi/fpm/init.d.php-fpm
/etc/init.d/php-fpm
chmod
755
/etc/init.d/php-fpm
/etc/init.d/php-fpm
start
php-fpm支持的操作:
start,啟動PHP的FastCGI進程。
stop,強制終止PHP的FastCGI進程。
quit,平滑終止PHP的FastCGI進程。
restart,
重啟PHP的FastCGI進程。
reload,
重新載入PHP的php.ini。
logrotate,
重新啟用log文件。
5.3.3的php-fpm腳本支持的操作:start|stop|force-quit|restart|reload|status
6.配置好PHP-5.2.14的php.ini,重新載入生效:
vi
/usr/local/php-5.2.14/etc/php.ini
/usr/local/php-5.2.14/sbin/php-fpm
reload
7.修改nginx配置,對需要的服務配置使用PHP-5.2.14:
location
~
.*.(php|php5)?$
{
fastcgi_pass
127.0.0.1:9001;
fastcgi_index
index.php;
include
fcgi.conf;
}
8.記錄一下自己編譯php5.5.10使用的配置
./configure
--prefix=/usr/local/php-5.5.10
--with-config-file-path=/usr/local/php-5.5.10/etc
--with-mysql=mysqlnd
--with-mysqli=mysqlnd
--with-bz2
--with-curl=/usr/bin
--enable-ftp
--enable-sockets
--disable-ipv6
--with-gd
--with-jpeg-dir=/usr/local
--with-png-dir=/usr/local
--with-freetype-dir=/usr/local
--enable-gd-native-ttf
--with-iconv-dir=/usr/local
--enable-mbstring
--enable-calendar
--with-gettext
--with-libxml-dir=/usr/local
--with-zlib
--with-pdo-mysql=mysqlnd
--enable-dom
--enable-xml
--enable-fpm
--with-libdir=lib64
--with-mcrypt=/usr/bin
--enable-zip
--enable-soap
--enable-mbstring
--with-gd
--with-openssl
--enable-pcntl
--with-xmlrpc
--enable-opcache
❻ 如何在CentOS 6上通過YUM安裝Nginx和PHP-FPM
1、最好自己編譯,你把思路理順了,按順序來就沒問題。
2、nginx和php沒有編譯先後順序。但是nginx和php都需要准備好先決條件。
3、yum -y install gcc等編譯環境
4、下載所需要的安裝包:
nginx需要pcre-8.13.tar.gz//nginx-1.6.2.tar.gz/zlib-1.2.5.tar.bz2/openssl-1.0.0e.tar.gz
php需要libiconv-1.14.tar.gz/libpng-1.2.46.tar.xz/jpegsrc.v8c.tar.gz/freetype-2.4.6.tar.gz/gd-2.0.35.tar.gz/libxml2-2.7.7.tar.gz/libxslt-1.1.26.tar.gz/libevent-1.4.14b-stable.tar.gz/libevent-2.0.16-stable.tar.gz/libmcrypt-2.5.8.tar.gz/mcrypt-2.6.8.tar.gz/mhash-0.9.9.9.tar.gz/php-5.3.24.tar.gz等
5、php安裝後還需要後期優化,比如:memcache-3.0.6.tgz/ImageMagick-6.6.6-5.tar.gz/imagick-3.0.1.tgz/memcached-1.4.5.tar.gz/eaccelerator-0.9.6.1.tar.bz2/ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz
ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz
6、另外mysql編譯只需要cmake-2.8.8.tar.gz/mysql-5.5.30.tar.gz
❼ 如何編譯windows nginx php
作了N多次php環境的搭建,網上的方法還真是多,但是實際操作起來總有一些大大小小的出入,很多錯誤經常讓我糾結不已.久病成醫,漸漸地我自己就總結出了一些經驗。自我感覺良好。
這種方法並非以前所流行的apache 加 php_mole 的方式運行,我是採用nginx 作為web伺服器,以fastcgi的方式運行php。
linux下編譯:
nginx我還是習慣選擇8.54的版本,它的編譯依賴以下幾個軟體包,解壓這些源碼包,在configure中設置好這些源碼的路徑,nginx在編譯的時候會自己將他們編譯進去的:
pcre: 主要用於rewrite等模塊
zlib:這個不用說了
openssl: 如果你還知道https這個東西,那麼你懂的~~~(當然你可以不需要這個功能)
md5 /sha1: 這兩者都是用於生成信息摘要的希哈演算法,這倆個東西不是必須的,但是我發現如果不選擇其中一個那麼openssl是不會成功地編譯進nginx的
下面是我自己寫的一個安裝腳本,有temp-path字樣的編譯選項所設置都是nginx在運行時產生的臨時文件的路徑,pid-path,lock-path也是臨時文件路徑,log-path是日誌文件路徑,我因為自己機子上一些許可權的問題所以要設置一下.一般情況下其實這些是不必要的,nginx默認會統統把生成的這些文件放在自己的安裝目錄下.
tmp=/tmp/nginx
log=/home/jsck/log
pcre=~/Downloads/pcre-8.02
zlib=~/Downloads/zlib-1.2.5-src
openssl=~/Downloads/openssl-0.9.8q
md5=~/Downloads/md5-1.3.0
./configure --prefix=/usr/local/nginx \
--http-proxy-temp-path=${tmp}/nginx-proxy.tmp \
--http-fastcgi-temp-path=${tmp}/nginx-fcgi.tmp \
--http-uwsgi-temp-path=${tmp}/nginx-uwsgi.tmp \
--http-scgi-temp-path=${tmp}/nginx-scgi.tmp \
--http-client-body-temp-path=${tmp}/nginx-client.tmp \
--pid-path=${tmp}/nginx.pid \
--lock-path=${tmp}/nginx.lock \
--http-log-path=${log}/http.log \
--error-log-path=${log}/http-error.log \
--with-pcre=$pcre \ #pcre 源碼包的路徑
--with-zlib=$zlib \ #zlib 源碼包的路徑
--with-http_ssl_mole \ #起用ssl支持
--with-openssl=$openssl #openssl 源碼包路徑
make
make install
php(5.2)的編譯可以復雜點,也可以簡單點,因為我們編譯php時主要目的是編譯它的腳本引擎和一些核心庫,很多外圍的東西不一定非要在編譯php的時候加進去,可以在需要的時候將它們編譯成擴展庫再修改配置文件來載入它們。
我的編譯代碼如下:
./configure --prefix=/usr/local/php \
--with-mysql=/usr/local/mysql \#設置mysql的安裝路徑
--enable-fastcgi \ #開啟fastcgi支持
--enable-debug #支持調試
make
make install
其實關於mysql的那一句都是可以不要的,只是我懶得再編譯一次mysql擴展,所以就這樣把它直接編譯進php了,這樣做的前提是你必須先安裝mysql。
令外還有一些注意事項:編譯php時必須確保系統中擁有libxml2與libxml2-dev這倆個軟體包,因為php默認會將xml的功能編譯進去,所以xml的支持是必不可少的。還有一個就是autoconf這條命令了,在編譯擴展的時候,phpize會調用系統中的這個命令來生成擴展包的configure文件,沒有它你就不能作擴展了,這一點也是要記住的,畢竟linux下的php不像windows版那樣事先把所有的擴展都編譯好了。
至於window下nginx,php的安裝就沒有什麼難度了,下個zip包,解壓就能用,只要稍微配置就可以了.
配置:
如果只是想讓php能運行的話那麼直接輸入命令:
./php-cgi -b 3344
這樣就開啟了php的fastcgi進程了,-b參數是綁定該進程的偵聽埠,隨便找個沒用的埠填就可以了,這里綁定的是3344.
然後在nginx的配置文件中加上這么幾行:
location ~ \.php$ {
root /home/jsck/www; #這是你網站的根目錄
fastcgi_pass127.0.0.1:3344; #這里指定了fastcgi進程偵聽的埠,nginx就是通過這里與php交互的
fastcgi_index index.php;
fastcgi_paramSCRIPT_FILENAME $document_root/$fastcgi_script_name;
include fastcgi_params;
}
如果要改nginx的偵聽埠的話找到"listen"這么一項,改就是了.運行nginx,在/home/jsck/www目錄中寫一個測試文件test.php:
<?php
phpinfo();
?>
訪問http://localhost:8080/test.php,如果顯示了php所以的配置信息,那麼就基本沒什麼問題,已經可以用這個環境寫些php代碼了.
至於php的調試器我選擇xdebug,不為什麼,習慣所致。載入xdebug時,在配置文件中的寫法根據系統的不同好像也有點不同。linux下是:zend_extension_debug=<path>,window中載入的dll有兩種,一種文件名會帶有ts的後綴,這種要這要樣寫:zend_extension_ts=<path>另外一種就這樣:zend_extension=<path>,path一定要寫絕對路徑。雖然ts為何意我也不是很清楚,但是這些設置是一定不可以搞錯的。
設置好後重新運行php-cgi,然後重新訪問test.php,如果有xdebug的那一塊出現了,那麼就成功了.
當然這是一個很簡單的配置,只能讓你運行php,要想真正做成你需要的開發環境,還需要你根據自己的需要修改php和nginx的配置文件,這些配置內容很多,我自己也在學習中,就不好多講了.
另外有一點需要注意,php的配置文件在它的源碼包中有兩個:php.ini-dist和php.ini-recommended,分別是針對生成環境和開發環境的配置.你需要把其中一個改名為php.ini.重啟後查看phpinfo()的頁面,靠上的地方有一項"Loaded Configuration File",它的值如果就是你的php.ini的路徑,那麼就沒問題了,如果不是話,就看看上面一項"Configuration File (php.ini) Path",你把你的php.ini文件移到這個目錄下在重啟就可以了.因為php默認會在這個路徑下尋找php.ini的.當然你也可以在運行php-cgi的時候設置你的php.ini路徑,比如這樣:
php-cgi -b 3344 -c /home/jsck/php.ini
這樣就是把/home/jsck/php.ini這個文件作為配置文件了.
按鈕!!
❽ 如何架設Nginx+Php Web伺服器
Nginx ("engine x") 是一個高性能的 HTTP 和 反向代理 伺服器,也是一個 IMAP/POP3/SMTP 代理伺服器。 Nginx 是由 Igor Sysoev 為俄羅斯訪問量第二的 Rambler.ru 站點開發的,它已經在該站點運行超過兩年半了。Igor 將源代碼以類BSD許可證的形式發布。盡管還是測試版,但是,Nginx 已經因為它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗而聞名了。
本文是W3CGROUP在成功架設Nginx+Php Web伺服器之後的一個總結,成功設置Nginx開啟多域名多站點,並且不會出現502 Bad Gateway錯誤!
本文測試環境如下:
系統環境
Linux version 2.6.9(CentOS release 4.7(Final))
軟體環境
nginx-0.6.35.tar.gz
安裝步驟
一、 編譯安裝PHP5.2.9所需的支持庫
tar zxvf libiconv-1.13.tar.gzcd libiconv-1.13/./configure --prefix=/usr/localmakemake installcd ../
tar zxvf libmcrypt-2.5.8.tar.gzcd libmcrypt-2.5.8/./configuremakemake install/sbin/ldconfigcd libltdl/./configure --enable-ltdl-installmakemake installcd ../../
tar zxvf mhash-0.9.9.9.tar.gzcd mhash-0.9.9.9/./configuremakemake installcd ../
ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.laln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.soln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.aln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.laln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.soln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
tar zxvf mcrypt-2.6.8.tar.gzcd mcrypt-2.6.8//sbin/ldconfig./configuremakemake installcd ../
二、編譯安裝MySQL 5.1.34擴展庫
/usr/sbin/groupadd mysql/usr/sbin/useradd -g mysql mysqltar zxvf mysql-5.1.34.tar.gzcd mysql-5.1.34/./configure --prefix=/usr/local/webserver/mysql/ --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=innobasemake && make installchmod +w /usr/local/webserver/mysqlchown -R mysql:mysql /usr/local/webserver/mysqlcd ../
MySql的安裝此處就省略
三、編譯安裝PHP(FastCGI模式)
tar zxvf php-5.2.9.tar.gzgzip -cd php-5.2.9-fpm-0.5.10.diff.gz | patch -d php-5.2.9 -p1cd php-5.2.9/./configure --prefix=/usr/local/webserver/php --with-config-file-path=/usr/local/webserver/php/etc --with-mysql=/usr/local/webserver/mysql --with-mysqli=/usr/local/webserver/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-saslmake ZEND_EXTRA_LIBS='-liconv'make installcp php.ini-dist /usr/local/webserver/php/etc/php.inicd ../
四、修改php-fpm配置文件
rm -f /usr/local/webserver/php/etc/php-fpm.confvi /usr/local/webserver/php/etc/php-fpm.conf
輸入以下內容:
<?xml version="1.0" ?><configuration><section name="global_options"><value name="pid_file">/usr/local/webserver/php/logs/php-fpm.pid</value><value name="error_log">/usr/local/webserver/php/logs/php-fpm.log</value><value name="log_level">notice</value><value name="emergency_restart_threshold">10</value><value name="emergency_restart_interval">1m</value><value name="process_control_timeout">5s</value><value name="daemonize">yes</value></section><workers><section name="pool"><value name="name">default</value><value name="listen_address">127.0.0.1:9000</value><value name="listen_options"><value name="backlog">-1</value><value name="owner"></value><value name="group"></value><value name="mode">0666</value></value><value name="php_defines"><value name="sendmail_path">/usr/sbin/sendmail -t -i</value><value name="display_errors">1</value></value><value name="user">www</value><value name="group">www</value><value name="pm"><value name="style">static</value><value name="max_children">128</value><value name="apache_like"><value name="StartServers">20</value><value name="MinSpareServers">5</value><value name="MaxSpareServers">35</value></value></value><value name="request_terminate_timeout">0s</value><value name="request_slowlog_timeout">0s</value><value name="slowlog">logs/slow.log</value><value name="rlimit_files">51200</value><value name="rlimit_core">0</value><value name="chroot"></value><value name="chdir"></value><value name="catch_workers_output">yes</value><value name="max_requests">500</value><value name="allowed_clients">127.0.0.1</value><value name="environment"><value name="HOSTNAME">$HOSTNAME</value><value name="PATH">/usr/local/bin:/usr/bin:/bin</value><value name="TMP">/tmp</value><value name="TMPDIR">/tmp</value><value name="TEMP">/tmp</value><value name="OSTYPE">$OSTYPE</value><value name="MACHTYPE">$MACHTYPE</value><value name="MALLOC_CHECK_">2</value></value></section></workers></configuration>
五、創建www用戶組及www用戶
/usr/sbin/groupadd www/usr/sbin/useradd -g www www
六、編譯安裝Nginx
tar zxvf nginx-0.6.35.tar.gzcd nginx-0.6.35/默認安裝:./configuremake && make install默認情況下,Nginx 會被安裝在 /usr/local/nginx。通過設定編譯選項,你可以改變這個設定。
指定編譯選項安裝,如:./configure --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_mole --with-http_ssl_molemake && make installcd ../
七、創建fcgi.conf文件
rm -f /usr/local/webserver/nginx/conf/fcgi.confvi /usr/local/webserver/nginx/conf/fcgi.conf
❾ 如何在CentOS 6上通過YUM安裝Nginx和PHP-FPM
在CentOS 6上通過YUM安裝Nginx和PHP-FPM:
第一步,在/etc/yum.repos.d/目錄下創建一個源配置文件nginx.repo:
cd /etc/yum.repos.d/
vim nginx.repo
填寫如下內容:
[nginx]
name=nginx repo
baseurl=nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
保存,則會產生一個/etc/yum.repos.d/nginx.repo文件。
下面直接執行如下指令即可自動安裝好Nginx:
yum install nginx -y
安裝完成,下面直接就可以啟動Nginx了:
/etc/init.d/nginx start
現在Nginx已經啟動了,直接訪問伺服器就能看到Nginx歡迎頁面了的。
❿ 雲伺服器如何配置nginx支持php
[root@redhat7 ~]# wget http://am1.php.net/get/php-7.1.2.tar.gz/from/this/mirror
[root@redhat7 ~]# tar xzvf php-7.1.2.tar.gz
[root@redhat7 ~]# cd php-7.1.2/
[root@redhat7 ~]# ./configure --prefix=/usr/local/php --enable-fpm
[root@redhat7 php-7.1.2]# make&&make install
查看是否成功編譯安裝PHP
[root@redhat7 php-7.1.2]# php -v
PHP 7.1.2 (fpm-fcgi) (built: Apr 14 2017 20:21:53)
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
編譯安裝完成後PHP不具備配置文件php.ini,此時只需復制php.ini-proction到 /usr/local/lib/php.ini即可,php.ini文件一般在/usr/local/lib/和/etc目錄下
[root@localhost php-7.1.2]# cp php.ini-proction /usr/local/lib/php.ini
[root@redhat7 php]# /usr/local/php/sbin/php-fpm
[14-Apr-2017 20:59:49] ERROR: failed to open configuration file '/usr/local/php/etc/php-fpm.conf': No such file or directory (2)
[14-Apr-2017 20:59:49] ERROR: failed to load configuration file '/usr/local/php/etc/php-fpm.conf'
[14-Apr-2017 20:59:49] ERROR: FPM initialization failed
啟動php-fpm發現缺乏配置文件/usr/local/php/etc/php-fpm.conf
此時只需復制php-fpm的配置文件在安裝php時提供的配置文件的模版/usr/local/php/etc/php-fpm.conf.default到相應/usr/local/php/etc/php-fpm.conf即可
[root@redhat7 etc]# /usr/local/php/sbin/php-fpm
[14-Apr-2017 21:14:32] WARNING: Nothing matches the include pattern '/usr/local/php/etc/php-fpm.d/﹡.conf' from /usr/local/php/etc/php-fpm.conf at line 125.
[14-Apr-2017 21:14:32] ERROR: No pool defined. at least one pool section must be specified in config file
[14-Apr-2017 21:14:32] ERROR: failed to post process the configuration
[14-Apr-2017 21:14:32] ERROR: FPM initialization failed
[root@redhat7 etc]# cp php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
[root@redhat7 etc]# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
[root@redhat7 etc]# /etc/init.d/php-fpm
[14-Apr-2017 21:23:02] ERROR: unable to bind listening socket for address '127.0.0.1:9000': Address already in use (98)
[14-Apr-2017 21:23:02] ERROR: FPM initialization failed
[root@redhat7 etc]# netstat -nldp|grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 3721/php-fpm: maste
[root@redhat7 php-7.1.2]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@redhat7 php-7.1.2]# chmod a+x /etc/init.d/php-fpm
[root@redhat7 php-7.1.2]# ll /etc/init.d/php-fpm
-rwxr-xr-x 1 root root 2401 4月 14 21:26 /etc/init.d/php-fpm
[root@redhat7 php-7.1.2]# /etc/init.d/php-fpm start
Starting php-fpm [14-Apr-2017 21:28:09] ERROR: unable to bind listening socket for address '127.0.0.1:9000': Address already in use (98)
[14-Apr-2017 21:28:09] ERROR: FPM initialization failed
failed
[root@redhat7 php-7.1.2]# netstat -nldp |grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 3721/php-fpm: maste
[root@redhat7 php-7.1.2]# kill 3721
[root@redhat7 php-7.1.2]# netstat -nldp |grep 9000
[root@redhat7 php-7.1.2]# /etc/init.d/php-fpm start
Starting php-fpm done
[root@redhat7 php-7.1.2]# service php-fpm status
php-fpm (pid 3927) is running...
[root@redhat7 php-7.1.2]# chkconfig --add php-fpm
[root@redhat7 php-7.1.2]# chkconfig php-fpm --level 345 on
配置nginx支持PHP
修改nginx的配置文件,支持php文件的解析,找到location的添加位置,在後面添加下面這個location
location ~ .php$ {
root /usr/share/nginx/html; #指定php的根目錄
fastcgi_pass 127.0.0.1:9000;#php-fpm的默認埠是9000
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}