centos安裝nginx和php7

php7發佈了好久時間了,最近有空下載下來看看php

nginx安裝:nginx安裝首先依賴幾個庫。分別爲pcre,zlib,openssl分別下載這幾個庫,html

有些庫編譯須要gcc,先安裝gcc,yum install -y gcc gcc-c++mysql

以zlib爲例子 我下載是zlib-1.2.8.tar.gz,解壓nginx

#tar -zxvf zlib-1.2.8.tar.gzc++

#cd tar -zxvf zlib-1.2.8sql

# ./configure --prefix=/usr/local/zlib make make install 瀏覽器

#make && make install安全

其它兩個同樣./configure --prefix=/usr/local/zlib make make install    ./configure --prefix=/usr/local/openssl make make install服務器

如今編譯nginx,php7

# tar -zxvf nginx-1.11.3.tar.gz

#cd nginx-1.11.3

#./configure --prefix=/usr/local/nginx
--with-pcre=../pcre-8.37
--with-zlib=../zlib-1.2.8
--with-openssl=../openssl-fips-1.0.2d

後面帶的庫路徑是表示這樣庫源碼的路徑,我下載的庫都是放在同一個目錄下,因此是同級關係

#make && make install

nginx安裝就完成了,啓動 /usr/local/nginx/sbin/nginx,瀏覽器點擊127.0.0.1查看安裝成功

php7安裝:

下載php-7.0.10.tar.gz,

# tar -zxvf php-7.0.10.tar.gz  //解壓

#./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc  --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip

若是出現缺乏什麼庫時,直接yum 安裝如

yum -y install libxml2 libxml2-devel libxslt-devel ...

 

有時候出現錯誤

Another app is currently holding the yum lock; waiting for it to exit...
The other application is: PackageKit
Memory : 153 M RSS (266 MB VSZ)
Started: Thu Jul 12 00:03:05 2012 - 06:17 ago
State : Sleeping, pid: 4018

直接rm -rf /var/run/yum.pid 強行解除鎖定,yum就能用了

執行成功後編譯

#make && make install

成功後須要複製配置文件php.ini 和php-fpm.conf www.conf

從源碼包複製php.ini

# cp php.ini-development (或是 php.ini-production 用於服務器的,安全性較高) /usr/local/php/etc/php.ini

在執行文件時  加上 --with-config-file-path=/usr/local/php/etc 能夠指定php.ini的位置

# cd /usr/local/php/etc/  進入這個目錄

# cp php-fpm.conf.default php-fpm.conf  添加php-fpm.conf 配置文件

# cd php-fpm.d  在進入這個目錄

# cp www.conf.default www.conf   添加www.conf,這個文件是phpfpm的端口號等信息,若是你修改默認的9000端口號需在這裏改,再改nginx的配置,ps:php5.X版本是直接在php-fpm.conf這個文件配置,沒有這個文件的

進入php-fpm.conf 這個文件把 ;pid = run/php-fpm.pid 前面的;去掉,我編譯php5版本是,發現啓動php沒有php-fpm.pid這個文件,致使不能重啓,後面發現把這個打開,啓動就能生成php-fpm.pid這個文件了

啓動php

#/usr/local/php/sbin/php-fpm

配置nginx

進入nginx.conf ,在 /usr/local/nginx/conf/nginx.conf中

location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

把這行註釋去掉 fastcgi_param SCRIPT_FILENAME \script$fastcgi_script_name;改爲fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

重啓nginx :/usr/local/nginx/sbin/nginx -s reload

安裝完成

php-fpm信號控制啓動重啓等狀態

SIGINT, SIGTERM 馬上終止
SIGQUIT 平滑終止
SIGUSR1 從新打開日誌文件
SIGUSR2 平滑重載全部worker進程並從新載入配置和二進制模塊

php重啓:kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

中止 : kill -SIGINT php-fpm.pid

相關文章
相關標籤/搜索