金沙官网线上Memcached部署(下)

搭建Nginx+PHP环境

搭建Nginx+PHP环境用于Memcached的PHP扩展的测试

1. 安装PHP

[root@chunlin PHP]# tar -zxf php-7.1.5.tar.gz
[root@chunlin PHP]# cd php-7.1.5
[root@chunlin php-7.1.5]# mkdir /usr/local/php
[root@chunlin php-7.1.5]# mkdir /usr/local/php/etc
[root@chunlin php-7.1.5]# mkdir /usr/local/php/etc/php.d
[root@chunlin php-7.1.5]# useradd -s /sbin/nologin php_fpm
[root@chunlin php-7.1.5]# yum install -y libxml2.x86_64
[root@chunlin php-7.1.5]# yum install -y libxml2-devel.x86_64
[root@chunlin php-7.1.5]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-config-file-scan-dir=/usr/local/php/etc/php.d  
--enable-fpm --with-fpm-user=php_fpm --with-fpm-group=php_fpm  
--with-mysqli=/usr/bin/mysql_config  
--with-pdo-mysql=/usr/local/mysql --with-mysql-sock=/var/lib/data/mysql/mysql.sock  
--enable-xml --with-libxml-dir=/usr/bin/xml2-config

2. PHP配置

  • 准备配置文件

[root@chunlin php-7.1.5]# cp php.ini-production /usr/local/php/etc/php.ini
[root@chunlin php-7.1.5]# cd /usr/local/php/etc/
[root@chunlin etc]# mv php-fpm.conf.default php-fpm.conf
[root@chunlin etc]# ln -s /usr/local/php/etc/php.ini /etc/php.ini
[root@chunlin etc]# ln -s /usr/local/php/etc/php-fpm.conf /etc/php-fpm.conf
[root@chunlin ~]# cd /usr/local/php/etc/php-fpm.d/
[root@chunlin php-fpm.d]# mv www.conf.default www.conf

  • 修改配置文件

  • vim php-fpm.conf

    [root@chunlin ~]# cd /usr/local/php/etc/
    [root@chunlin etc]# vim php-fpm.conf
    [global]
    pid = run/php-fpm.pid
    error_log = log/php-fpm.log
    log_level = warning
    #其他选项使用文件中给出的默认配置即可

  • vim www.conf

    [root@chunlin php-fpm.d]# cd /usr/local/php/etc/php-fpm.d/
    [root@chunlin php-fpm.d]# vim www.conf
    user = php_fpm
    group = php_fpm
    listen.owner = php_fpm
    listen.group = php_fpm
    listen.mode = 0660
    #其他选项使用文件中给出的默认配置即可

  • vim php.ini

    [root@chunlin ~]# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    #设置时区为上海
    [root@chunlin ~]# vim /etc/php.ini
    date.timezone = Asia/Shanghai
    expose_php = Off
    #出于安全靠虑
    short_open_tag = On
    #支持短标签
    disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,
    proc_open,proc_get_status,ini_alter,ini_restore,dl,openlog,
    syslog,readlink,symlink,popepassthru,stream_socket_server,
    fsocket,popen
    #出于安全的考虑禁用某些函数
    opcache.enable=1
    opcache.enable_cli=1
    extension_dir = "/usr/local/php/lib/php/extensions
    /no-debug-non-zts-20160303"
    zend_extension=opcache.so
    #开启opcache缓存
    #其他选项使用文件中给出的默认配置即可

  • 配置php-fpm自启动

[root@chunlin ~]# cd /usr/local/package/LNMP/PHP/php-7.1.5
[root@chunlin php-7.1.5]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@chunlin php-7.1.5]# chmod 755 /etc/init.d/php-fpm
[root@chunlin php-7.1.5]# chkconfig --add php-fpm
[root@chunlin php-7.1.5]# chkconfig php-fpm on

3. Nginx编译安装

1)安装准备
  • 系统:redhat6.5.x86_64
  • 软件:nginx-1.10.3.tar.gz(稳定版)、gcc.x86_64、pcre-devel.x86_64、perl-ExtUtils-Embed.x86_64、zlib-devel.x86_64、openssl-devel.x86_64

[root@chunlin Nginx]# mkdir /opt/nginx
[root@chunlin Nginx]# tar -zxf nginx-1.10.3.tar.gz
[root@chunlin Nginx]# ls
nginx-1.10.3 nginx-1.10.3.tar.gz
[root@chunlin Nginx]# cd nginx-1.10.3

[root@chunlin nginx-1.10.3]# vim auto/cc/gcc
#debug
#CFLAGS="$CFLAGS -g"

将以上两行注释掉,取消nginx的debug编译模式,编译更快。

[root@chunlin nginx-1.10.3]# vim src/core/nginx.h
#define NGINX_VER "nginx"

上面的那条修改是为了nginx服务器的安全,隐藏了nginx版本,需要将#define NGINX_VER后面的双引号中的字符串改为nginx

2)编译安装

[root@chunlin nginx-1.10.3]# ./configure --prefix=/opt/nginx --with-http_gzip_static_module --with-http_stub_status_module --with-http_perl_module --with-http_ssl_module

configure是个shell脚本,是autoconf的工具的基本应用,用来配置软件属性,安装目录,检查编译所需的库文件是否存在或者符合条件等,生成编译所需要的Makefile 文件。

编译的时候我选择将http_gzip_static_module、http_stub_status_module、http_perl_module、http_ssl_module这四个模块编译进去。

  • http_gzip_static_module:这个模块支持在线实时压缩输出数据流
  • http_stub_status_module:监控Nginx的状态
  • http_perl_module:支持Perl脚本
  • http_ssl_module:开启SSL模块,支持使用HTTPS协议的网页

[root@chunlin nginx-1.10.3]# make
#make 是 Linux 开发套件里面自动化编译的一个控制程序,它根据Makefile控制代码编译源码。如果在make过程中出错了,可以通过先make clean,然后再重新make。
[root@chunlin nginx-1.10.3]# make install

4. Nginx配置

[root@chunlin ~]# vim /opt/nginx/conf/nginx.conf
#需要先安装Nginx,以下是配置文件中要修改或增加的内容

user  php_fpm php_fpm;
location / {
        root   html;
        index  index.html index.htm index.php;
    }
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;
    }

[root@chunlin ~]# nginx -t
[root@chunlin ~]# nginx -s reload

本文由金沙官网线上发布于操作系统,转载请注明出处:金沙官网线上Memcached部署(下)

您可能还会对下面的文章感兴趣: