PHP 环境搭建
By skyshappiness Posted 2017-01-04 21:52:34 In

一、准备

创建源码存放目录: mkdir -p /usr/local/src

二、安装nginx

查看可安装 Nginx 版本 http://nginx.org/download/

远程下载 Nginx 安装源码 wget http://nginx.org/download/nginx-1.6.2.tar.gz

解压缩 Nginx 源码 tar -zxvf nginx-1.6.2.tar.gz

进入源码文件夹 cd nginx-1.6.2/

安装 Nginx 编译依赖项 yum  -y install gcc-c++ zlib zlib-devel openssl openssl-devel pcre pcre-devel perl-ExtUtils-Embed

配置 Nginx 参数 ./configure --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx —conf- path=/etc/nginx/nginx.conf --error-log-path=/data/log/nginx/error.log --http-log-   path=/data/log/nginx/access.log --http-client-body-temp-   path=/var/lib/nginx/tmp/client_body --http-proxy-temp-     path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi   --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-   path=/var/lib/nginx/tmp/scgi --pid-path=/var/run/nginx.pid —lock-   path=/var/lock/subsys/nginx --user=nginx --group=nginx --with-file-aio —with-   ipv6 --with-http_ssl_module --with-http_realip_module --with-http_addition_module   --with-http_sub_module --with-http_dav_module --with-http_flv_module —with-   http_mp4_module --with-http_gzip_static_module --with-http_random_index_module —   with-http_secure_link_module --with-http_degradation_module —with-     http_stub_status_module --with-http_perl_module --with-mail —with-   mail_ssl_module --with-debug --with-cc-opt='-O2 -g -pipe -Wall -Wp,-   D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64   -mtune=generic' --with-ld-opt=-Wl,-E

编译,安装编译           make;make install

创建配置项文件夹   mkdir -p /etc/nginx/conf.d

按如下内容修改主配置文件   vi /etc/nginx/nginx.conf

#user  nobody;

user nginx;

worker_processes  2;

error_log       /var/log/nginx/error.log;

#error_log      logs/error.log;

#error_log      logs/error.log  notice;

#error_log      logs/error.log  info;

#pid            logs/nginx.pid;

pid             /var/run/nginx.pid;

events {

worker_connections  1024;

}

http {

client_max_body_size 32m;

include       mime.types;

default_type  application/octet-stream;

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

access_log   /var/log/nginx/access.log main;

#access_log  logs/access.log  main;

sendfile        on;

#tcp_nopush     on;

#keepalive_timeout  0;

keepalive_timeout  65;

gzip  on;

gzip_http_version 1.0;

gzip_disable "MSIE[1-6].";

gzip_types text/plain application/x-javascript text/css text/javascript       image/jpeg image/gif image/png;

gzip_min_length 1024;

gzip_comp_level 3;

gzip_vary on;

# Load config files from the /etc/nginx/conf.d directory

# The default server is in conf.d/default.conf

include /etc/nginx/conf.d/*.conf;

}

修改多站点配置文件    vi /etc/nginx/conf.d/project_name.conf

server {

listen 80;

server_name  www.skyshappiness.com;

rewrite ^/([a-z0-9/]+)?$ /index.php?s=$1 break;

root /data/www/project/metlife;

location / {

index index.html;

}

location ~ .*\.(php)$ {

fastcgi_pass   127.0.0.1:9000;

fastcgi_index  index.php;

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

fastcgi_param  SCRIPT_NAME      $fastcgi_script_name;

include        /etc/nginx/fastcgi.conf;

}

}

测试配置文件    /usr/sbin/nginx -t

创建 nginx 分组    /usr/sbin/groupadd -f nginx

创建 nginx 用户并分组    /usr/sbin/useradd -g nginx nginx

启动 Nginx    /usr/sbin/nginx

重启 Nginx    /usr/sbin/nginx -s reload

三、安装 PHP

进入源码文件夹    cd /usr/local/src/

下载 EPEL 源码仓库    wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

安装 EPEL 源码    rpm -Uvh epel-release-6*.rpm

下载 IUS 源码仓库    wget http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/ius-release-1.0-    14.ius.centos6.noarch.rpm

安装 IUS 源码 rpm -Uvh ius-release*.rpm

下载 Remi 源码 wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

安装 Remi 源码    rpm -Uvh remi-release-6*.rpm

查找 PHP5.6    yum search php56u | grep x86_64

安装 PHP5.6及扩展    yum install -y php56u.x86_64 php56u-bcmath.x86_64 php56u-cli.x86_64 php56u-    common.x86_64 php56u-fpm.x86_64 php56u-gd.x86_64 php56u-mbstring.x86_64 php56u-    mcrypt.x86_64 php56u-mysqlnd.x86_64 php56u-pdo.x86_64 php56u-pecl-imagick.x86_64     php56u-pecl-jsonc.x86_64 php56u-pecl-memcache.x86_64 php56u-pecl-    memcached.x86_64 php56u-pecl-redis.x86_64 php56u-soap.x86_64 php56u-xml.x86_64     php56u-xmlrpc.x86_64(扩展可后续使用 yum 安装或者编译安装)

查看 PHP 版本    php -v

修改 PHP 如下配置项    vi /etc/php.ini

engine = On

short_open_tag = Off

asp_tags = Off

max_execution_time = 30

memory_limit = 256M # 根据服务器实际情况配置可用内存大小

display_errors = Off

post_max_size = 32M # 根据服务器实际情况配置最大上传单个文件大小

upload_max_filesize = 32M # 根据服务器实际情况配置合计最大上传文件大小

date.timezone = PRC # 设置时区为中国北京时间

session.save_handler = files # 设置会话句柄为文件

修改 PHP-FPM 如下配置项    vi /etc/php-fpm.conf

include=/etc/php-fpm.d/*.conf   # 加载外部配置文件

error_log = /var/log/php-fpm/error.log

修改默认配置文件    vi /etc/php-fpm.d/www.conf

user = nginx

group = nginx

request_terminate_timeout = 600

php_admin_value[error_log] = /var/log/php-fpm/www-error.log

php_admin_flag[log_errors] = on

php_value[session.save_handler] = files

php_value[session.save_path] = /var/lib/php/session  # 注意此文件夹的用户必须与php-    fpm的用户一致

启动 php-fpm     service php-fpm start

重启 php-fpm    service php-fpm restart

四、安装 mysql

进入源码下载文件夹    cd /usr/local/src/

卸载系统自带 Mysql    yum -y remove mysql-libs-*

安装 Mysql Server    yum install -y mysql-community-server

下载 Mysql 源码仓库    wget http://dev.mysql.com/get/mysql-community-release-el5-5.noarch.rpm

安装 Mysql 源码仓库    rpm -Uvh mysql-community-release-el5-5.noarch.rpm

安装 Mysql    yum install -y mysql-community-server

启动 Mysql    service mysqld start

配置 Mysql    /usr/bin/mysql_secure_installation(按提示配置 Mysql)

目录说明    /var/log/mysqld.log #MySQL日志目录

/var/lib/mysql #MySQL数据文件目录

/usr/share/mysql/ #MySQL配置文件目录

/usr/bin/ #MySQL启动脚本目录

修改 Mysql 配置    vi /etc/my.cnf

# For advice on how to change settings please see

# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html

[mysqld]

#

# Remove leading # and set to the amount of RAM for the most important data

# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

# innodb_buffer_pool_size = 128M

#

# Remove leading # to turn on a very important data integrity option: logging

# changes to the binary log between backups.

# log_bin

#

# Remove leading # to set options mainly useful for reporting servers.

# The server defaults are faster for transactions and fast SELECTs.

# Adjust sizes as needed, experiment to find the optimal values.

# join_buffer_size = 128M

# sort_buffer_size = 2M

# read_rnd_buffer_size = 2M

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

# Recommended in standard MySQL setup

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

character_set_server = utf8

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

启动 Mysql    service mysqld start

重启 Mysql    service mysqld restart

友情链接
联系方式
  • 邮箱 / E-mail:121388038@qq.com