作者:diycode
博客:http:://diycode.me
github:https://github.com/diy-code
一、下载软件
useradd -s /sbin/nologin -M www
cd /usr/local/src && \
wget http://down.wanggufeng.cn/lnmp.zip && \
unzip lnmp.zip && mv ./lnmp/* . && rm -rf lnmp lnmp.zip
二、安装依赖
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers openssl-devel pcre-devel zlib-devel wget gd libxml2 libxml2-devel mysql-devel libtool libmcrypt
三、解压软件
cd /usr/local/src
tar -zxvf memcache-2.2.7.tgz && tar -zxvf mongo-1.4.5.tgz && tar -zxvf nginx-1.8.0.tar.gz && \
tar -zxvf openssl-1.0.1e.tar.gz && tar -zxvf pcre-8.36.tar.gz && tar -zxvf php-5.6.8.tar.gz && \
tar -zxvf redis-2.2.7.tgz && \
tar -zxvf yaf-2.3.5.tgz && \
unzip swoole-src-master.zip
四、删除安装包
rm -rf memcache-2.2.7.tgz && rm -rf mongo-1.4.5.tgz && rm -rf nginx-1.8.0.tar.gz && rm -rf openssl-1.0.1e.tar.gz && rm -rf pcre-8.36.tar.gz && rm -rf php-5.6.8.tar.gz && rm -rf redis-2.2.7.tgz && rm -rf swoole-src-master.zip && rm -rf yaf-2.3.5.tgz && rm -rf package.xml
五、安装pcre-8.36
cd pcre-8.36 && \
./configure --prefix=/usr/local/pcre && \
make && make install && \
cd ..
六、安装openssl-1.0
cd openssl-1.0.1e && \
./config --prefix=/usr/local/openssl && \
make && make install && \
cd ..
七、安装nginx-1.8
cd nginx-1.8.0 && \
./configure --prefix=/usr/local/nginx --with-openssl=/usr/local/src/openssl-1.0.1e \
--with-pcre=/usr/local/src/pcre-8.36 \
--with-http_ssl_module \
--user=www \
--group=www
make && make install && \
cd ..
八、安装php-5.6.8
cd php-5.6.8 &&
./configure --prefix=/usr/local/php5 \
--with-mysql=mysqlnd --enable-mysqlnd \
--with-gd \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--enable-fpm \
--enable-bcmath \
--enable-mbstring \
--enable-sockets \
--enable-embedded-mysqli \
--enable-zip \
--enable-mbstring \
--enable-opcache \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-gettext
make && make install
cd ..
九、安装常用扩展(根据实际情况)
cd /usr/local/src/php-5.6.8/ext && \
cd curl && \
/usr/local/php5/bin/phpize && ./configure --with-php-config=/usr/local/php5/bin/php-config && make && make install && cd ..
cd opcache && \
/usr/local/php5/bin/phpize && \
./configure --with-php-config=/usr/local/php5/bin/php-config
make && make install && cd ..
cd mysqli && \
/usr/local/php5/bin/phpize && \
./configure --with-php-config=/usr/local/php5/bin/php-config && \
make && make install && \
cd ..
cd pdo_mysql && \
/usr/local/php5/bin/phpize && \
./configure --with-php-config=/usr/local/php5/bin/php-config && \
make && make install && \
cd ..
cd curl && \
/usr/local/php5/bin/phpize && \
./configure --with-php-config=/usr/local/php5/bin/php-config && \
make && make install && \
cd ..
cd bcmath && \
/usr/local/php5/bin/phpize && \
./configure --with-php-config=/usr/local/php5/bin/php-config && \
make && make install && \
cd ..
cd /usr/local/src/redis-2.2.7 && \
/usr/local/php5/bin/phpize && \
./configure --with-php-config=/usr/local/php5/bin/php-config && \
make && make install
cd /usr/local/src/memcache-2.2.7 && \
/usr/local/php5/bin/phpize && \
./configure --with-php-config=/usr/local/php5/bin/php-config && \
make && make install
cd /usr/local/src/mongo-1.4.5 && \
/usr/local/php5/bin/phpize && \
./configure --with-php-config=/usr/local/php5/bin/php-config && \
make && make install
cd /usr/local/src/swoole-src-master && \
/usr/local/php5/bin/phpize && \
./configure --with-php-config=/usr/local/php5/bin/php-config && \
make && make install
cd /usr/local/src/yaf-2.3.5 && \
/usr/local/php5/bin/phpize && \
./configure --with-php-config=/usr/local/php5/bin/php-config && \
make && make install
十、进行nginx和php配置
# mkdir -p /usr/local/nginx/conf/vhost
# vim /usr/local/nginx/conf/nginx.conf
user www www;
worker_processes 2;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status/$upstream_cache_status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" "$upstream_response_time" "$request_time" "$request_body"';
access_log off;
sendfile on;
client_max_body_size 30m;
client_body_buffer_size 512k;
keepalive_timeout 65;
gzip on;
gzip_vary on;
gzip_proxied any;
gzip_buffers 4 128k;
gzip_min_length 1024;
gzip_comp_level 6;
gzip_http_version 1.0;
gzip_disable "Dalvik\.";
gzip_types text/plain text/javascript application/x-javascript text/css text/xml image/jpg application/xml image/jpeg image/gif image/png;
include vhost/*.conf;
include upstream.conf;
}
# vim /usr/local/nginx/conf/upstream.conf
upstream php5fpm {
server unix:/dev/shm/php5fpm.socket;
}
upstream php7fpm {
server unix:/dev/shm/php7fpm.socket;
}
# vim /usr/local/php5/etc/php-fpm.conf
[global]
pid = /var/run/php5-fpm.pid
error_log = /var/log/php5-fpm.log
log_level = notice
[www]
listen = /dev/shm/php5fpm.socket
listen.owner=www
listen.group=www
user = www
group = www
pm = dynamic
pm.max_children = 1024
pm.start_servers = 6
pm.min_spare_servers = 4
pm.max_spare_servers = 64
pm.max_requests = 204800
request_slowlog_timeout=10s
slowlog=/var/log/fpm5_slow.log
拷贝php配置文件到安装目录
cp /usr/local/src/php-5.6.8/php.ini-development /usr/local/php5/lib/php.ini
在php配置中加入扩展的配置
# vim /usr/local/php5/lib/php.ini
extension=/usr/local/php5/lib/php/extensions/no-debug-non-zts-20131226/mysqli.so
extension=/usr/local/php5/lib/php/extensions/no-debug-non-zts-20131226/mongo.so
extension=/usr/local/php5/lib/php/extensions/no-debug-non-zts-20131226/memcache.so
extension=/usr/local/php5/lib/php/extensions/no-debug-non-zts-20131226/pdo_mysql.so
extension=/usr/local/php5/lib/php/extensions/no-debug-non-zts-20131226/redis.so
extension=/usr/local/php5/lib/php/extensions/no-debug-non-zts-20131226/yaf.so
extension=/usr/local/php5/lib/php/extensions/no-debug-non-zts-20131226/swoole.so
extension=/usr/local/php5/lib/php/extensions/no-debug-non-zts-20131226/curl.so
extension=/usr/local/php5/lib/php/extensions/no-debug-non-zts-20131226/mcrypt.so
always_populate_raw_post_data = -1:
date.timezone = Asia/Chongqing
十一、简单的开机启动
11.1、修改配置开机启动php和nginx
# vim /etc/rc.local
/usr/local/php5/sbin/php-fpm -y /usr/local/php5/etc/php-fpm.conf
/usr/local/nginx/sbin/nginx
十二、结束语
12.1、本文有任何错误,或有任何疑问,欢迎留言说明。