codecamp

CentOS 6.9编译安装最新LNMP环境

注:网站系统为CentOS 6.9。 一、准备工作:

1、升级系统

yum update -y 2、清理原有安装

yum remove mysql-libs selinux postfix http -y 二、服务器LNMP编译安装

1、安装编译工具

yum install gcc cmake gcc-c++ -y 2、安装Nginx

安装依赖

yum install pcre-devel zlib-devel -y mkdir -p /data/source cd /data/source wget https://www.openssl.org/source/openssl-1.0.2l.tar.gz tar xvf openssl-1.0.2l.tar.gz -C /data/lnmp/ cd /data/lnmp/openssl-1.0.2l ./config --prefix=/data/lnmp/lib --openssldir=/data/lnmp/lib/openssl make -j5 make install 建立组和用户并设置不能ssh登录

groupadd -r www useradd -r -M -s /sbin/nologin -g www www sed -i "s/\/home\/www://" /etc/passwd 下载

cd /data/source wget http://nginx.org/download/nginx-1.13.2.tar.gz 解压

tar xvf nginx-1.13.2.tar.gz 编译

cd nginx-1.13.2 ./configure --prefix=/data/lnmp/nginx --user=www --group=www --pid-path=/run/nginx.pid --lock-path=/run/nginx.lock --http-client-body-temp-path=/tmp/client --http-proxy-temp-path=/tmp/proxy --http-fastcgi-temp-path=/tmp/fastcgi --http-uwsgi-temp-path=/tmp/uwsgi --http-scgi-temp-path=/tmp/scgi --http-log-path=/data/lnmp/log/nginx/access.log --error-log-path=/data/lnmp/log/nginx/error.log --with-http_ssl_module --with-http_v2_module --with-stream_realip_module --with-openssl=/data/lnmp/openssl-1.0.2l make -j5 make install 配置启动

从这里下载启动脚本:

https://www.nginx.com/resources/wiki/start/topics/examples/redhatnginxinit/

sed -i "s/\/\$nginx_version//" /data/lnmp/nginx/conf/fastcgi* sed -i "s/}/ application\/vnd.android.package-archive apk;\n}/g" /data/lnmp/nginx/conf/mime.types mv /data/lnmp/nginx/conf/nginx.conf /data/lnmp/nginx/conf/nginx.conf.bak mkdir /data/lnmp/nginx/conf/conf.d


cat > /data/lnmp/nginx/conf/nginx.conf << "EOF"
user  www;
worker_processes  4;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    charset  utf-8;
    sendfile        on;
    client_max_body_size 40m;
    server_tokens off;
    keepalive_timeout  65;
    gzip  on;
    include  conf.d/*.conf;
}
EOF
cat > /data/lnmp/nginx/conf/conf.d/www.conf << "EOF"
server {
    listen       80;
    server_name  localhost;
    root   /data/www;
    index  index.html index.htm index.php;


    error_page  404              /404.html;
    error_page   500 502 503 504  /50x.html;


    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }


    location ~ \.php$ {
        try_files $uri = 404;
        fastcgi_pass   127.0.0.1:9000;
        include        fastcgi.conf;
    }
}
EOF
mkdir /data/www
ln -s /data/lnmp/nginx/sbin/nginx /usr/sbin/
sed -i "s/nginx=\"\/usr\/sbin\/nginx\"/nginx=\"\/data\/lnmp\/nginx\/sbin\/nginx\"/g" /etc/init.d/nginx
sed -i "s/NGINX_CONF_FILE=\"\/etc\/nginx\/nginx.conf\"/NGINX_CONF_FILE=\"\/data\/lnmp\/nginx\/conf\/nginx.conf\"/g" /etc/init.d/nginx

打开防火墙

iptables -I INPUT -p tcp --dport 80 -j ACCEPT service iptables save service iptables restart 3、安装PHP

安装依赖

yum install libxml2-devel gd-devel libcurl-devel -y 下载

cd /data/source wget http://cn2.php.net/distributions/php-7.1.7.tar.xz 解压

tar xvf php-7.1.7.tar.xz 编译

cd php-7.1.7 ./configure --prefix=/data/lnmp/php --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-config-file-path=/data/lnmp/php --with-config-file-scan-dir=/data/lnmp/php/lib/php/extensions --without-sqlite3 --enable-opcache --disable-ipv6 --enable-mbstring --with-gettext --with-curl --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --without-pdo-sqlite --disable-phpdbg --with-gd --with-freetype-dir --with-png-dir --with-xpm-dir --with-jpeg-dir --enable-gd-native-ttf --with-zlib --enable-exif --enable-zip --enable-soap --with-openssl=/data/lnmp/lib make -j5 make install make时出现:

PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled. make install之后,运行以下命令,再次

make && make install 就可以了

/data/lnmp/php/bin/pear install channel://pear.php.net/PHP_Archive-0.12.0 ln -s /data/lnmp/php/bin/ /usr/bin ln -s /data/lnmp/php/sbin/ /usr/sbin cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm cp sapi/fpm/www.conf /data/lnmp/php/etc/php-fpm.d/ cp sapi/fpm/php-fpm.conf /data/lnmp/php/etc/ echo "zend_extension=/data/lnmp/php/lib/php/extensions/no-debug-non-zts-20160303/opcache.so" > /data/lnmp/php/lib/php/extensions/opcache.ini cp php.ini-production /data/lnmp/php/php.ini sed -i "s/;opcache.enable=0/opcache.enable=1/" /data/lnmp/php/php.ini sed -i "s/;opcache.enable_cli=0/opcache.enable_cli=1/" /data/lnmp/php/php.ini sed -i "s/max_execution_time = 30/max_execution_time = 60/" /data/lnmp/php/php.ini sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 20M/" /data/lnmp/php/php.ini sed -i "s/post_max_size = 8M/post_max_size = 20M/" /data/lnmp/php/php.ini sed -i "s/display_errors = Off/display_errors = On/" /data/lnmp/php/php.ini sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /data/lnmp/php/php.ini sed -i "s/;date.timezone =/date.timezone = Asia\/Shanghai/" /data/lnmp/php/php.ini sed -i "s/expose_php = On/expose_php = Off/" /data/lnmp/php/php.ini sed -i "s/;error_log = log\/php-fpm.log/error_log = \/data\/lnmp\/log\/php\/php-fpm.log/" /data/lnmp/php/etc/php-fpm.conf sed -i "s/;slowlog = log\/\$pool.log.slow/slowlog = \/data\/lnmp\/log\/php\/slow.log/g" /data/lnmp/php/etc/php-fpm.conf sed -i "s/;request_slowlog_timeout = 0/request_slowlog_timeout = 300/g" /data/lnmp/php/etc/php-fpm.conf mkdir /data/lnmp/log/php 4、安装MariaDB/Mysql数据库

创建mysql用户

groupadd -r mysql useradd -r -M -s /sbin/nologin -g mysql mysql sed -i "s/\/home\/mysql://" /etc/passwd 安装依赖

yum install ncurses-devel bison -y 下载

wget http://mirrors.neusoft.edu.cn/mariadb//mariadb-10.1.25/source/mariadb-10.1.26.tar.gz 解压

tar xvf mariadb-10.1.26.tar.gz 编译

cd mariadb-10.1.26 cmake . \ -DCMAKE_INSTALL_PREFIX=/data/lnmp/mariadb \ -DMYSQL_DATADIR=/data/lnmp/mariadb/data \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DDISABLE_SHARED=OFF \ -DPLUGIN_MROONGA=NO \ -DPLUGIN_FEDERATED=NO \ -DPLUGIN_FEDERATEDX=NO \ -DPLUGIN_OQGRAPH=NO \ -DPLUGIN_AUTH_PAM=NO \ -DPLUGIN_SEQUENCE=NO \ -DPLUGIN_SPIDER=NO \ -DWITH_WSREP=NO \ -DPLUGIN_FTEXAMPLE=NO \ -DPLUGIN_DAEMON_EXAMPLE=NO \ -DPLUGIN_EXAMPLE=NO \ -DPLUGIN_EXAMPLE_KEY_MANAGEMENT=NO \ -DPLUGIN_CONNECT=NO \ -DCONNECT_WITH_ODBC=OFF \ -DCONNECT_WITH_MYSQL=1 \ -DCONNECT_WITH_LIBXML2=NO \ -DWITH_DEBUG=NO \ -DWITH_EMBEDDED_SERVER=OFF \ -DWITH_PROFILING=OFF \ -DWITH_UNIT_TESTS=OFF \ -DPLUGIN_TOKUDB=NO


make -j5
make install
ln -s /data/lnmp/mariadb/bin/* /usr/bin
chown mysql:mysql /data/lnmp/mariadb/data -R
cp support-files/my-huge.cnf /data/lnmp/mariadb/my.cnf
cp support-files/mysql.server /etc/init.d/mariadb
/data/lnmp/mariadb/scripts/mysql_install_db --user=mysql --defaults-file=/data/lnmp/mariadb/my.cnf --datadir=/data/lnmp/mariadb/data/
service mariadb start
/data/lnmp/mariadb/bin/mysqladmin -u root password 'password'
rm -rf /data/lnmp/mariadb/bin/mysql_client_test*
rm -rf /data/lnmp/mariadb/mysql-test
rm -rf /data/lnmp/mariadb/data/test
rm -rf /data/lnmp/mariadb/sql-bench

更新或重新编译后:

rm -rf /data/lnmp/mariadb/bin/mysql_client_test* rm -rf /data/lnmp/mariadb/mysql-test rm -rf /data/lnmp/mariadb/data/test rm -rf /data/lnmp/mariadb/sql-bench service restart mariadb 5、完成!

Ubuntu 17.04编译安装最新LNMP环境
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }