CentOS7: LNMP实战搭建

24 篇文章 0 订阅
12 篇文章 0 订阅

$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
    

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值