wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar zxf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/lib/libiconv
make && make install
wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
./configure --prefix=/usr/local/lib/libmcrypt
make && make install
wget http://cn2.php.net/distributions/php-7.0.2.tar.gz
tar -zxvf php-7.0.2.tar.gz
cd php-7.0.2
./configure --prefix=/usr/local/php --enable-fpm \
--with-config-file-path=/usr/local/php/etc --with-openssl --with-zlib --enable-bcmath --with-bz2 --with-curl \
--enable-ftp --with-gd --enable-gd-native-ttf --with-jpeg-dir --with-png-dir --with-gettext --with-mhash \
--enable-mbstring --with-mcrypt=/usr/local/lib/libmcrypt --enable-soap --enable-zip --with-iconv=/usr/local/lib/libiconv --enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd --without-pear
make && make install
php -i(测试)
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
vi /usr/local/php/etc/php-fpm.conf
安装7.2和pthreads支持多线程
wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.13.tar.gz
tar -zxvf libsodium-1.0.13.tar.gz
cd libsodium-1.0.13
./configure
make && make install
wget https://downloads.php.net/~pollita/php-7.2.0RC5.tar.gz
tar -zxvf php-7.2.0RC5.tar.gz
cd php-7.2.0RC5
./configure --prefix=/usr/local/php72 --enable-fpm --with-config-file-path=/usr/local/php72/etc --with-openssl --with-zlib --enable-bcmath --with-bz2 --with-curl --enable-ftp --with-gd --with-jpeg-dir --with-png-dir --with-gettext --with-mhash --enable-mbstring --enable-soap --enable-zip --with-iconv=/usr/local/lib/libiconv --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --without-pear --enable-maintainer-zts --with-sodium=/usr/local/lib
make && make install
wget https://codeload.github.com/krakjoe/pthreads/zip/master
unzip master
cd pthreads-master
/usr/local/php72/bin/phpize
./configure --with-php-config=/usr/local/php72/bin/php-config
make && make install
[global]
pid = /usr/local/php/var/run/php-fpm.pid
error_log = /usr/local/php/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 = 196
pm.start_servers = 147
pm.min_spare_servers = 98
pm.max_spare_servers = 196
request_terminate_timeout = 100
request_slowlog_timeout = 0
slowlog = /usr/local/php/var/log/slow.log
chkconfig --add php-fpm
chkconfig php-fpm on
wget tar -zxvf pcre-8.38.tar.gz
cd pcre-8.38
./configure --prefix=/usr/local/pcre --libdir=/usr/local/lib/pcre --includedir=/usr/local/include/pcre
make && make install
wget
tar -zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0
./configure --prefix=/usr/local/nginx --sbin-path=/usr/sbin/nginx \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--error-log-path=/home/wwwlogs/error.log \
--http-log-path=/home/wwwlogs/access.log \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--user=nginx \
--group=nginx \
--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_gunzip_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_stub_status_module \
--with-http_auth_request_module \
--with-mail \
--with-mail_ssl_module \
--with-file-aio \
--with-http_spdy_module \
--with-ipv6 \
--with-threads \
--with-pcre=../pcre-8.38(pcre源码路径)
make && make install
groupadd -f nginx
adduser -M -r -g nginx nginx
vi /usr/local/nginx/conf/nginx.conf
user www www;
worker_processes auto;
error_log /home/wwwlogs/nginx_error.log crit;
pid /dev/shm/nginx.pid;
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;
events
{
use epoll;
worker_connections 51200;
multi_accept on;
}
http
{
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 50m;
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 256k;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_disable "MSIE [1-6]\.";
#limit_conn_zone $binary_remote_addr zone=perip:10m;
##If enable limit_conn_zone,add "limit_conn perip 10;" to server section.
server_tokens off;
#log format
log_format access '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
access_log off;
server
{
listen 80;
server_name _;
index index.html index.htm index.php;
root /home/wwwroot/;
location / {
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
break;
}
}
location ~ .+\.php($|/) {
set $script $uri;
set $path_info "/";
if ($uri ~ "^(.+\.php)(/.+)") {
set $script $1;
set $path_info $2;
}
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME /home/wwwroot/$script;
fastcgi_param SCRIPT_NAME $script;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /\.
{
deny all;
}
access_log /home/wwwlogs/access.log access;
}
include vhost/*.conf;
}
自己安装一遍可能有错,希望多指点~~