首页 > 技术文章 > PHP生产环境配置

shuaiwu1108 2019-10-10 18:02 原文

生产环境:操作系统使用Centos6.5、服务器选择Nginx

0.准备安装介质

Nginx选择稳定版本:http://nginx.org/download/nginx-1.16.1.tar.gz

Nginx安装:

1.下载好的nginx移动到/usr/local下并解压

2.进入nginx解压目录执行./configure --prefix=/usr/local/nginx命令

可能出现的错误:./configure: error: the HTTP rewrite module requires the PCRE library.

需要安装:yum -y install pcre-devel

执行make命令

执行make install命令

3.启动nginx

执行./sbin/nginx

Php选择版本较老(5.6):https://www.php.net/distributions/php-5.6.40.tar.gz

PHP安装:

1.先安装依赖包

yum -y install libxml2
yum -y install libxml2-devel
yum -y install openssl
yum -y install openssl-devel
yum -y install curl
yum -y install curl-devel
yum -y install libjpeg
yum -y install libjpeg-devel
yum -y install libpng
yum -y install libpng-devel
yum -y install freetype
yum -y install freetype-devel
yum -y install pcre
yum -y install pcre-devel
yum -y install libxslt
yum -y install libxslt-devel
yum -y install bzip2
yum -y install bzip2-devel

yum -y install libzip

2.进入php目录

执行  ./configure --prefix=/usr/local/php --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-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip --with-libzip=/usr/local/libzip --enable-fpm --with-config-file-path=/usr/local/php/etc

3.执行make

4.执行make install

1.Php配置;php主要配置两个文件php.ini、php-fpm.conf

(1)php.ini文件:该文件在php安装根目录下,有对应的模板php.ini-development  php.ini-production,这两个文件对应了开发和生产环境;将其中一个复制到php根目录下的etc目录下面;PS:小白基本上不用动这个配置

(2)php-fpm.conf文件:该文件在php根目录的etc目录下,有对应模板php-fpm.conf.default;拷贝一下成php-fpm.conf;PS:小白基本也不动它

(3)启动php-fpm:php安装根目录下执行./sbin/php-fpm     PS:可以加上 -y php-fpm配置文件地址(用于配置多个实例,多实例需要复制出多个php-fpm.conf文件,通过修改监听的端口、区分不同实例)默认端口是9000

2.Nginx配置;nginx的配置在安装目录的conf下,nginx.conf文件

#注意的是root 路径设置好,以后PHP项目就放到这里了
#location
#127.0.0.1:9000这里有些讲究,端口和php-fpm.conf中的监听端口保持#一致,若没改conf配置,默认还是9000
#location正则和fastcgi_split_path_info 需要注意配置对

server{
        listen 9090;
        root /data/www;
        location / {
                index index.php index.html index.htm;
        }
        location ~ .+\.php($|/) {
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_split_path_info ^((?U).+.php)(/?.+)$;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include        fastcgi_params;
        }
}

可能会出现nginx和php-fpm用户不匹配问题,需要统一用户(Nginx在配置文件首行指定用户、php-fpm.conf中搜索user、group指定用户)

 

推荐阅读