原創文章,轉載請注明出處
我想配置的環境是ubuntu+nginx+mysql+php+redis,其中php裝兩個版本,php7和php56
ubuntu+nginx+mysql+php的環境配置教程地址:
ubuntu使用(二) -- lnmp環境的配置
1.讓nginx支持不同站點可以選擇不同的php版本
1>創建fastcgi.conf文件
cd /etc/nginx //進入nginx配置文件夾
cp fastcgi_params fastcgi.conf //創建fastcgi.conf文件
vim fastcgi.conf 加入以下參數 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
2>創建php56和php70的配置文件
touch php56.conf
vim php56.conf 加入以下內容
index index.php index.html index.htm;
location / {
try_files $uri /index.php$is_args$args;
}
location ~ \.php$ {
if ($uri !~* "^/data/"){
fastcgi_pass 127.0.0.1:9001;
}
include fastcgi.conf;
}
touch php70.conf
vim php70.conf 加入以下內容
index index.php index.html index.htm;
location / {
try_files $uri /index.php$is_args$args;
}
location ~ \.php$ {
if ($uri !~* "^/data/"){
fastcgi_pass 127.0.0.1:9000;
}
include fastcgi.conf;
}
3>進入虛擬站點配置(以自己的配置為准)
vim /etc/nginx/sites/nginx.vhost.conf
加入以下內容
server {
listen 8080;
root /data/php56site/;
server_name test.php56site.com;
access_log /var/log/nginx/php56site/access.log;
error_log /var/log/nginx/php56site/error.log;
include php56.conf;
}
server {
listen 8081;
root /data/php70site/;
server_name test.php70site.com;
access_log /var/log/nginx/php70site/access.log;
error_log /var/log/nginx/php70site/error.log;
include php70.conf;
}
4>更改php-fpm的監聽端口
vim /etc/php/5.6/fpm/pool.d/www.conf 更改監聽端口為 listen=127.0.0.1:9001
vim /etc/php/7.0/fpm/pool.d/www.conf 更改監聽端口為 listen=127.0.0.1:9000
5>創建相應的文件
創建php56site的站點文件夾
mkdir /data/php56site
cd /data/php56site
touch index.php
vim index.php
並加入以下內容
<?php
phpinfo();
創建php56site的日志
cd /var/log/nginx/
mkdir php56site
cd php56site
touch access.log
touch error.log
同理創建php70的站點文件夾和日志
6>重啟操作
/etc/init.d/nginx restart
/etc/init.d/php5.6-fpm restart
/etc/init.d/php7.0-fpm restart
7>本地hosts文件中加入
xxx.xxx.xxx.xxxx test.php56site.com
xxx.xxx.xxx.xxxx test.php70site.com
網頁測試地址
test.php56site.com:8080/index.php
test.php70site.com:8081/index.php
如果網頁顯示出phpinfo的信息,證明成功
2.給php安裝phpredis擴展(apt-get並不直接提供各版本phpredis擴展,我們要編譯安裝)
1>准備工作:安裝擴展需要phpize
開始安裝 apt-get install php5.6-dev
apt-get install php7.0-dev
查看phpize的位置 whereis phpize
發現位置是 /usr/bin/phpize5.6
/usr/bin/phpize7.0
2>開始安裝php5的redis擴展
1.root@ubuntu:/tmp#
wget https://github.com/nicolasff/phpredis/zipball/master -O php-redis.zip
2.root@ubuntu:/tmp#
unzip php-redis.zip
3.root@ubuntu:/tmp# mv phpredis/ /etc/phpredis5 (phpredis文件夾名以你解壓后為准)
4.root@ubuntu:/tmp# cd /etc/phpredis5
5.root@ubuntu://etc/phpredis# /usr/bin/phpize5.6
6.root@ubuntu://etc/phpredis# ./configure --with-php-config=/usr/bin/php-config5.6
7.root@ubuntu://etc/phpredis#make && make install
3>開始安裝php7的redis擴展
1.root@ubuntu:/tmp# git clone -b php7 https://github.com/phpredis/phpredis.git
2.root@ubuntu:/tmp# mv phpredis/ /etc/phpredis7
3.root@ubuntu:/tmp# cd /etc/phpredis7
4.root@ubuntu://etc/phpredis# /usr/bin/phpize7.0
5.root@ubuntu://etc/phpredis# ./configure --with-php-config=/usr/bin/php-config7.0
6.root@ubuntu://etc/phpredis#make && make install
4>啟動擴展
修改相應的配置文件:
vim / etc / php / 5.6 / fpm / php .ini ,在配置文件中添加如下語句:extension=redis.so
vim / etc / php / 7.0 / fpm / php .ini ,在配置文件中添加如下語句:extension=redis.so
最后使用命令來重啟 PHP 服務:
/etc/init.d/php5.6-fpm restart
/etc/init.d/php7.0-fpm restart
5>測試是否成功
網頁測試地址
test.php56site.com:8080/index.php
test.php70site.com:8081/index.php
如果網頁phpinfo的信息中有redis項,證明成功
6>因為我php70主要為laraval框架服務,其使用predis擴展,所以我要關閉到phpredis擴展
vim / etc / php / 7.0 / fpm / php .ini ,找到 extension=redis.so 將其注釋掉
如果你不需要使用predis,請忽略此項