$CentOS_Version=7.6.1810
for packages in make cmake gcc gcc-c++ gcc-g77 lrzsz flex bison file libtool python-devel libtool-libs autoconf kernel-devel patch wget crontabs libjpeg libjpeg-devel libpng libpng-devel libpng10 libpng10-devel gd gd-devel libxml2 libxml2-devel zlib zlib-devel glib2 glib2-devel unzip tar bzip2 bzip2-devel libzip-devel libevent libevent-devel ncurses ncurses-devel curl curl-devel libcurl libcurl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel vim-minimal gettext gettext-devel ncurses-devel gmp-devel pspell-devel unzip libcap diffutils ca-certificates net-tools libc-client-devel psmisc libXpm-devel git-core c-ares-devel libicu-devel libxslt libxslt-devel xz expat-devel libaio-devel rpcgen libtirpc-devel perl;do yum -y install $packages; done
wget https://soft.vpser.net/web/libiconv/libiconv-1.15.tar.gz
tar zxf libiconv-1.15.tar.gz
cd libiconv-1.15
./configure --enable-static
make && make install
./configure --enable-static --prefix=/usr/local/libiconv
make && make install
wget https://soft.vpser.net/web/libmcrypt/libmcrypt-2.5.8.tar.gz
tar zxf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make && make install
/sbin/ldconfig
cd libltdl/
./configure --enable-ltdl-install
make && make install
ln -sf /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
ln -sf /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
ln -sf /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
ln -sf /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
ldconfig
wget https://soft.vpser.net/web/mhash/mhash-0.9.9.9.tar.bz2
tar jxf mhash-0.9.9.9.tar.bz2
cd mhash-0.9.9.9
./configure
make && make install
ln -sf /usr/local/lib/libmhash.a /usr/lib/libmhash.a
ln -sf /usr/local/lib/libmhash.la /usr/lib/libmhash.la
ln -sf /usr/local/lib/libmhash.so /usr/lib/libmhash.so
ln -sf /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
ln -sf /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
ldconfig
wget https://soft.vpser.net/web/mcrypt/mcrypt-2.6.8.tar.gz
tar zxf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8
./configure
make && make install
wget https://soft.vpser.net/lib/freetype/freetype-2.7.tar.bz2
tar jxf freetype-2.7.tar.bz2
cd freetype-2.7
./configure --prefix=/usr/local/freetype
make && make install
[[ -d /usr/lib/pkgconfig ]] && \cp /usr/local/freetype/lib/pkgconfig/freetype2.pc /usr/lib/pkgconfig/
vim /etc/ld.so.conf.d/freetype.conf
/usr/local/freetype/lib
ldconfig
ln -sf /usr/local/freetype/include/freetype2/* /usr/include/
wget https://soft.vpser.net/lib/jemalloc/jemalloc-5.0.1.tar.bz2
tar jxf jemalloc-5.0.1.tar.bz2
cd jemalloc-5.0.1
./configure
make && make install
ldconfig
ln -sf /usr/local/lib/libjemalloc* /usr/lib/
ln -sf /usr/lib64/libpng.* /usr/lib/
ln -sf /usr/lib64/libjpeg.* /usr/lib/
ulimit -v unlimited
if [ `grep -L "/lib" '/etc/ld.so.conf'` ]; then echo "/lib" >> /etc/ld.so.conf; fi
if [ `grep -L '/usr/lib' '/etc/ld.so.conf'` ]; then echo "/usr/lib" >> /etc/ld.so.conf; fi
if [ -d "/usr/lib64" ] && [ `grep -L '/usr/lib64' '/etc/ld.so.conf'` ]; then echo "/usr/lib64" >> /etc/ld.so.conf; fi
if [ `grep -L '/usr/local/lib' '/etc/ld.so.conf'` ]; then echo "/usr/local/lib" >> /etc/ld.so.conf; fi
ldconfig
vim /etc/security/limits.conf
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
echo "fs.file-max=65535" >> /etc/sysctl.conf
wget https://soft.vpser.net/lib/boost/boost_1_59_0.tar.bz2
tar jxf boost_1_59_0.tar.bz2
wget https://soft.vpser.net/datebase/mysql/mysql-5.7.22.tar.gz
tar zxf mysql-5.7.22.tar.gz
cd mysql-5.7.22
cmake -DCMAKE_INSTALL_PREFIX=/application/mysql5.7.22 \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_BOOST=/application/software/boost_1_59_0
make && make install
vim /etc/ld.so.conf.d/mysql.conf
/application/mysql5.7.22/lib
/usr/local/lib64
ldconfig
ln -sf /application/mysql5.7.22/lib/mysql /usr/lib/mysql
ln -sf /application/mysql5.7.22/include/mysql /usr/include/mysql
wget https://soft.vpser.net/web/php/php-5.6.30.tar.bz2
tar jxf php-5.6.30.tar.bz2
cd php-5.6.30
groupadd www
useradd -s /sbin/nologin -g www www
./configure --prefix=/application/php5.6.30 \
--with-config-file-path=/application/php5.6.30/etc \
--with-config-file-scan-dir=/application/php5.6.30/conf.d \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-iconv=/usr/local/libiconv \
--with-freetype-dir=/usr/local/freetype \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-mbstring \
--with-mcrypt \
--enable-ftp \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--with-gettext \
--enable-opcache \
--enable-intl \
--with-xsl
make && make install
mkdir -p /application/php5.6.30/{etc,conf.d}
cp php.ini-production /application/php5.6.30/etc/php.ini
sed -i 's/post_max_size =.*/post_max_size = 50M/g' /application/php5.6.30/etc/php.ini
sed -i 's/upload_max_filesize =.*/upload_max_filesize = 50M/g' /application/php5.6.30/etc/php.ini
sed -i 's/;date.timezone =.*/date.timezone = PRC/g' /application/php5.6.30/etc/php.ini
sed -i 's/short_open_tag =.*/short_open_tag = On/g' /application/php5.6.30/etc/php.ini
sed -i 's/;cgi.fix_pathinfo=.*/cgi.fix_pathinfo=0/g' /application/php5.6.30/etc/php.ini
sed -i 's/max_execution_time =.*/max_execution_time = 300/g' /application/php5.6.30/etc/php.ini
sed -i 's/disable_functions =.*/disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server/g' /application/php5.6.30/etc/php.ini
vim /application/php5.6.30/etc/php-fpm.conf
[global]
pid = /application/php5.6.30/var/run/php-fpm.pid
error_log = /application/php5.6.30/var/log/php-fpm.log
log_level = notice
[www]
listen = /tmp/php-cgi.sock
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = dynamic
pm.max_children = 10
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 6
request_terminate_timeout = 100
request_slowlog_timeout = 0
slowlog = var/log/slow.log
sed -i "s#pm.max_children.*#pm.max_children = 80#" /application/php5.6.30/etc/php-fpm.conf
sed -i "s#pm.start_servers.*#pm.start_servers = 40#" /application/php5.6.30/etc/php-fpm.conf
sed -i "s#pm.min_spare_servers.*#pm.min_spare_servers = 40#" /application/php5.6.30/etc/php-fpm.conf
sed -i "s#pm.max_spare_servers.*#pm.max_spare_servers = 80#" /application/php5.6.30/etc/php-fpm.conf
wget https://soft.vpser.net/lib/openssl/openssl-1.0.2o.tar.gz
tar zxf openssl-1.0.2o.tar.gz
wget https://soft.vpser.net/web/nginx/nginx-1.14.2.tar.gz
tar zxf nginx-1.14.2.tar.gz
cd nginx-1.14.2
./configure --user=www \
--group=www \
--prefix=/application/nginx1.14.2 \
--with-openssl=/application/software/openssl-1.0.2o \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_gzip_static_module \
--with-http_sub_module \
--with-stream \
--with-stream_ssl_module \
--with-ld-opt='-ljemalloc'
make && make install
#nginx.conf
location ~ \.php$ {
root html;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
#vim /etc/rc.local
/application/php5.6.30/sbin/php-fpm
/application/nginx1.14.2/sbin/nginx
#install opache : https://www.wordpressleaf.com/2017_1699.html
cd /application/software/php-5.6.30/ext/opcache
/application/php5.6.30/bin/phpize
./configure --with-php-config=/application/php5.6.30/bin/php-config
make && make install
vim /application/php5.6.30/etc/php.ini
zend_extension = /application/php5.6.30/lib/php/extensions/no-debug-non-zts-20131226/opcache.so
opcache.enable=1
#install redis client: wget https://github.com/phpredis/phpredis/archive/develop.zip
unzip develop.zip
cd phpredis-develop
/application/php5.6.30/bin/phpize
./configure --with-php-config=/application/php5.6.30/bin/php-config
make && make install