环境架设   /   84

一、Nginx安装

安装Nginx可以采用YUM方法,Nginx官方提供的源可以保证安装最新版本的稳定程序

vim /etc/yum.repos.d/CentOS-Base.repo 添加以下YUM源信息

[nginx]

name=nginx repo

baseurl=http://nginx.org/packages/centos/$releasever/$basearch/

gpgcheck=0

enabled=1

更新YUM缓存

yum makecache

安装Nginx

yum install nginx

控制Nginx运行:

通过YUM安装完毕Nginx后可以使用service命令管理,目前支持以下参数

service nginx {start|stop|restart|condrestart|try-restart|force-reload|upgrade|reload|status|help|configtest}

二、编译安装PHP5.3.8 with PHP-FPM

PHP需要编辑安装,YUM自带源版本比较低,我们可以编译安装最新版PHP,从PHP5.3开始官方已经自带PHP-FPM功能,安装的时候带上参数 “–enable-fpm”即可

/php.5.3源文件目录/下执行

./configure –enable-fpm
make
make install

安装过程中可能提示找不到libxml2安装位置,需要先编译安装libxml2,请执行以下命令:

yum install libxml2
yum install libxml2-devel

重启PHP-FPM

php5.3.8 的PHP-FPM不再支持php-fpm 补丁具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,需要使用信号控制:

INT, TERM    立刻终止
QUIT    平滑终止
USR1    重新打开日志文件
USR2    平滑重载所有worker进程并重新载入配置和二进制模块
平滑重启: kill -USR2 `cat /var/run/php-fpm.pid`

三、为PHP编译添加新模块

编译php的时候可以通过命令 “./configure –with-libxxx”来编译安装相关模块,安装完毕后如果还需要添加模块可以通过以下步骤完成模块添加,我们以添加curl模块为例:

#cd /PHP源文件目录/ext/curl

#phpize (为重新编译新模块准备PHP环境参数)

#./configure –with-php-config=/php.ini文件路径/(根据当前php.ini环境编译生成模块,可略)

#make (此步将在 /PHP源文件目录/ext/curl/module/目录下面生成curl.so文件)

#cp /PHP源文件目录/ext/curl/module/curl.so /php的extension目录下/

#vim php.ini 添加 extension=curl.so

php-fpm重新加载php.ini即可生效

Q&A

默认PHP的配置文件是放在“/usr/local/lib/”目录下面的,默认安装采用php默认配置,无php.ini文件,请执行以下命令生成php.ini文件:

#cp /php源文件目录/php.ini-production /usr/local/lib/php.ini

Nginx执行静态文件正常,执行PHP文件报404错误:

通常404错误是由php-fpm执行文件路径错误,请确认是否正确设置 “SCRIPT_FILENAME”参数,请修改”/etc/nginx/conf.d/default.conf”中参数:

fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

改为

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

location 的 root设置为绝对路径

网络发现者(aiwei.us)是梁道科技旗下以企业建站,微信开发,视觉设计为主要服务项目的互联网品牌。

我们为企业提供各类互联网平台项目的咨询顾问服务。依靠丰富的互联网实践经验,我们为企业从项目可行性分析,执行策略及方案等方方面面提供合理化建议。