Skip to content

Instantly share code, notes, and snippets.

@owent
Last active August 29, 2015 13:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save owent/9658751 to your computer and use it in GitHub Desktop.
Save owent/9658751 to your computer and use it in GitHub Desktop.
Lnmp yum 安装脚本 (for CentOS)

Lnmp yum 安装脚本 (for CentOS)

详情见: Lnmp yum 安装脚本 (for CentOS) 脚本执行完后有几个需要注意的地方

脚本选项

-a <加速器缓存目录路径> ext cache dir path
-c <php.ini 文件路径> path of php.ini(Notice: must match rpm packages)
-d <php.d 路径> dir path of php.d(Notice: must match rpm packages)
-l <php部分扩展的日志路径> dir path of php ext logs
-f <php-fpm.d/www.conf路径> path of php-fpm.d/www.conf path(Notice: must match rpm packages)
-o <要安装的 php 加速器> 可以是这几个 [xcache, zendopcache, eaccelerator, apcu, none], 其中apcu和其他的不冲突,另外几个互相冲突的只会安装第一个指定的加速器
-h 帮助信息

php加速器UI组件

php加速组件安装以后只有加速核心,没有UI部分,各个组件的UI安装不一样。可以安如下方式安装

  1. eaccelerator

    http://eaccelerator.net/ 下载 对应版本

    把源码包内的所有php文件放置到网站目录即可

    注意设置admin用户名和密码

  2. xcache

    http://xcache.lighttpd.net/ 下载 对应版本源码包

    把htdoc目录内所有文件放置到网站目录即可

    注意设置admin用户名和密码

  3. zendopcache

    zendopcache官方没有提供UI管理器,可以使用第三方管理器

    注意设置admin用户名和密码

  4. apcu

    http://pecl.php.net/package/APCU 下载 对应版本源码包

    把源码包内的所有php文件放置到网站目录即可

    注意设置admin用户名和密码

配置建议

脚本执行完后,有几个配置建议

  1. 建议php-fpm运行方式改为类似 unix:/var/run/php-fpm.sock 这样,而不是绑定IP和端口,据说可以减少内存消耗和网络开销。修改方法为,php-fpm.confphp-fpm.d/www.conf 内的listen设置改成 /var/run/php-fpm.sock 然后 nginx内网站的server内fastcgi_pass节点改为fastcgi_pass unix:/var/run/php-fpm.sock;(其他sock路劲类似)

  2. 建议nginx.conf内的event节点增加*use epoll;*选项,即为

    events {
        use epoll;
        worker_connections 51200;
    }
  3. 建议 server include的cgi通用配置(默认是fastcgi_params)中添加以下选项

    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 4 256k;
    fastcgi_busy_buffers_size 256k;
    fastcgi_temp_file_write_size 256k;
    fastcgi_intercept_errors on;
    fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    # 并且server节点内的 fastcgi_param SCRIPT_FILENAME使用上诉文件的配置
    
  4. 建议nginx.conf内的http节点增加以下配置,开启gzip压缩

    gzip on;
    gzip_min_length  1k;
    gzip_buffers     4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 2;
    gzip_types       text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
    gzip_vary on; 
    
  5. 建议**/etc/php-fpm.conf**内配置sendmail选项

    php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f admin@owent.net
  6. 根据服务器具体情况配置**/etc/php-fpm.d/*.conf**的的参数

    pm.max_children = 10
    pm.start_servers = 2
    pm.min_spare_servers = 3
    pm.max_spare_servers = 5
    ;pm.max_requests = 500
    php_admin_value[memory_limit] = 300M
    
    ;以上是我的配置
  7. 建议修改php,nginx,php-fpm,nginx 内 server所有日志文件位置

#!/bin/sh
WORKING_DIR="$PWD";
ARCH_FLAG=$(getconf LONG_BIT);
PHP_CONF_FILE_PATH=/etc/php.ini
PHP_CONF_DIR_PATH=/etc/php.d
PHP_FPM_CONF_FILE_PATH=/etc/php-fpm.d/www.conf
PHP_CACHE_DIR_PATH=/tmp/php/cache
PHP_EXT_LOG_DIR_PATH=/var/log/php
PHP_OPT_COMP_INSTALL="";
while getopts "a:c:d:l:f:ho:" arg; do
case $arg in
a)
PHP_CACHE_DIR_PATH="$OPTARG";
;;
c)
PHP_CONF_FILE_PATH="$OPTARG";
;;
d)
PHP_CONF_DIR_PATH="$OPTARG";
;;
l)
PHP_EXT_LOG_DIR_PATH="$OPTARG";
;;
f)
PHP_FPM_CONF_FILE_PATH="$OPTARG";
;;
o)
PHP_OPT_COMP_INSTALL="$PHP_OPT_COMP_INSTALL $OPTARG";
;;
h)
echo "usage: $0 [options]
options:
-a <dir path> ext cache dir path
-c <php.ini path> path of php.ini(Notice: must
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment