查看服务器版本号
cat /etc/redhat-release
安装依赖
yum update -y
yum install -y libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel \
freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel
初始化
adduser www
groupadd www
usermod -G www www
mkdir -p /data/app/php
mkdir -p /data/download
mkdir -p /data/logs
chown www.www /data/logs
mkdir /data/logs/php
chown www.www /data/logs/php
touch /data/logs/php/php-fpm.err
chown www.www /data/logs/php/php-fpm.err
touch /data/logs/php/phpslow.log
chown www.www /data/logs/php/phpslow.log
touch /data/logs/php/phpslow2.log
chown www.www /data/logs/php/phpslow2.log
touch /data/logs/php/phpslow3.log
chown www.www /data/logs/php/phpslow3.log
mkdir -p /data/phptmp
chown www.www /data/phptmp
touch /tmp/php-cgi.sock
chown www.www /tmp/php-cgi.sock
touch /tmp/php-cgi2.sock
chown www.www /tmp/php-cgi2.sock
touch /tmp/php-cgi3.sock
chown www.www /tmp/php-cgi3.sock
安装php
cd /data/download/
wget https://www.php.net/distributions/php-7.2.20.tar.gz
tar -zxvf php-7.2.20.tar.gz
cd php-7.2.20
./configure --prefix= /data/app/php --enable-fpm --with-fpm-user= www --with-fpm-group= www \
--disable-ipv6 --with-openssl --with-pcre-regex --with-zlib --enable-bcmath --with-curl --enable-exif \
--with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-ttf --with-gettext \
--with-mhash --enable-mbstring --with-mcrypt --with-mysqli --enable-opcache \
--enable-pcntl --with-pdo-mysql --enable-sockets --with-iconv-dir --with-libxml-dir --enable-zip \
--enable-mysqlnd --with-mysql
make && make install
vim /etc/profile
PATH= $PATH :/data/app/php/bin
export PATH
source /etc/profile
php -v
配置php-fpm
cp php.ini-production /etc/php.ini
cp /data/app/php/etc/php-fpm.conf.default /data/app/php/etc/php-fpm.conf
cp /data/app/php/etc/php-fpm.d/www.conf.default /data/app/php/etc/php-fpm.d/www.conf
cp /data/download/php-7.2.20/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod u+x /etc/init.d/php-fpm
chown -R www.www /data/app/php/var
cat > /data/app/php/etc/php-fpm.conf << EOF
[global]
pid = /data/app/php/var/run/php-fpm.pid
error_log = /data/logs/php/php-fpm.err
log_level = notice
[www]
listen = /tmp/php-cgi.sock
listen.backlog = 8192
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = static
pm.max_children = 5
pm.start_servers = 20
pm.min_spare_servers = 10
pm.max_spare_servers = 40
request_terminate_timeout = 300
request_slowlog_timeout = 10
slowlog = /data/logs/php/phpslow.log
[www2]
listen = /tmp/php-cgi2.sock
listen.backlog = 8192
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = static
pm.max_children = 5
pm.start_servers = 20
pm.min_spare_servers = 10
pm.max_spare_servers = 40
request_terminate_timeout = 300
request_slowlog_timeout = 10
slowlog = /data/logs/php/phpslow2.log
[www3]
listen = /tmp/php-cgi3.sock
listen.backlog = 8192
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = static
pm.max_children = 5
pm.start_servers = 20
pm.min_spare_servers = 10
pm.max_spare_servers = 40
request_terminate_timeout = 300
request_slowlog_timeout = 10
slowlog = /data/logs/php/phpslow3.log
EOF
添加php-fpm至服务列表并设置开机自启。
chkconfig --add php-fpm
chkconfig --list php-fpm
chkconfig php-fpm on
/etc/init.d/php-fpm start
ln -s /etc/init.d/php-fpm /usr/sbin/php-fpm
php-fpm start| restart| stop
自行选择是否使用下面php.ini 配置
cat > /data/app/php/lib/php.ini << EOF
[userconfig]
environment = ONLINE
gd.jpeg_ignore_warning = 1
[PHP]
engine = On
short_open_tag = On
asp_tags = Off
precision = 14
output_buffering = 4096
zlib.output_compression = Off
implicit_flush = Off
zend.enable_gc = On
expose_php = Off
max_execution_time = 30
max_input_vars = 1000
max_input_time = 65
max_input_nesting_level = 32
memory_limit = 128M
error_reporting = E_ALL & ~E_NOTICE
display_errors = Off
display_startup_errors = Off
log_errors = On
error_log = /tmp/phperror.log
variables_order = "GPCS"
request_order = "GP"
post_max_size = 50M
register_argc_argv = Off
auto_globals_jit = On
default_mimetype = "text/html"
default_charset = "UTF-8"
enable_dl = Off
file_uploads = On
upload_max_filesize = 50M
max_file_uploads = 20
upload_tmp_dir = /data/phptmp
allow_url_fopen = On
allow_url_include = Off
default_socket_timeout = 60
extension_dir = "/data/app/php/lib/php/extensions/no-debug-non-zts-20121212/"
zend_extension=opcache.so
extension=memcache.so
extension=redis.so
date.timezone = Asia/Shanghai
[Session]
session.save_handler = files
session.save_path = "/data/session"
;session.save_handler = memcache
;session.save_path = tcp://127.0.0.1:10007
session.use_strict_mode = 0
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 5
[opcache]
opcache.enable=1
opcache.enable_cli=0
opcache.memory_consumption=128
opcache.interned_strings_buffer=4
opcache.max_accelerated_files=2000
opcache.max_wasted_percentage=5
opcache.use_cwd=1
opcache.validate_timestamps=1
opcache.revalidate_freq=2
opcache.revalidate_path=1
opcache.save_comments=0
opcache.load_comments=0
opcache.fast_shutdown=0
opcache.enable_file_override=0
EOF
安装redis扩展
cd /data/download
wget https://pecl.php.net/get/redis-3.1.3.tgz
tar zxvf redis-3.1.3.tgz
cd redis-3.1.3
/data/app/php/bin/phpize
./configure --with-php-config= /data/app/php/bin/php-config \
&& make && make install
安装memcache扩展
cd /data/download
wget https://pecl.php.net/get/memcache-4.0.5.2.tgz
tar zxvf memcache-4.0.5.2.tgz
cd /data/download/memcache-4.0.5.2
/data/app/php/bin/phpize
./configure --with-php-config= /data/app/php/bin/php-config \
&& make && make install