zoukankan      html  css  js  c++  java
  • CentOS 7 源码搭建LNMP环境

    搭建 LNMP 环境

    源码包版本 : 

    CentOS Linux  7

    nginx-1.15.1.tar.gz 

    mysql-boost-5.7.21.tar.gz 

    php-7.2.7.tar.gz

    准备环境依赖包 :

    yum -y install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel pcre-devel ncurses ncurses-devel bison cmake

    安装nginx :

    [root@DaMoWang ~]# useradd -M -s /sbin/nologin nginx  # 创建nginx用户
    [root@DaMoWang ~]# tar xf nginx-1.15.1.tar.gz -C /usr/src/
    [root@DaMoWang ~]# cd /usr/src/nginx-1.15.1/
    [root@DaMoWang nginx-1.15.1]# ./configure \  # 配置 编译 安装
     --prefix=/usr/local/nginx \
     --sbin-path=/usr/sbin/nginx \
     --conf-path=/etc/nginx/nginx.conf \
     --error-log-path=/var/log/nginx/error.log \
     --http-log-path=/var/log/nginx/access.log \
     --pid-path=/var/run/nginx.pid \
     --lock-path=/var/run/nginx.lock \
     --http-client-body-temp-path=/var/tmp/nginx/client \
     --http-proxy-temp-path=/var/tmp/nginx/proxy \
     --http-fastcgi-temp-path=/var/tmp/nginx/fcgi \
     --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \
     --http-scgi-temp-path=/var/tmp/nginx/scgi \
     --user=nginx \
     --group=nginx \
     --with-pcre \
     --with-http_v2_module \
     --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_v2_module \
     --with-threads \
     --with-stream \
     --with-stream_ssl_module \
     &&make && make install

    添加启动脚本:

    [root@DaMoWang nginx-1.15.1]# vim /etc/init.d/nginx 
    #!/bin/sh 
    # 
    # nginx - this script starts and stops the nginx daemon 
    # 
    # chkconfig:   - 85 15 
    # description: Nginx is an HTTP(S) server, HTTP(S) reverse \ 
    #               proxy and IMAP/POP3 proxy server 
    # processname: nginx 
    # config:      /etc/nginx/nginx.conf 
    # config:      /etc/sysconfig/nginx 
    # pidfile:     /var/run/nginx.pid 
    # Source function library. 
    . /etc/rc.d/init.d/functions
    # Source networking configuration. 
    . /etc/sysconfig/network
    # Check that networking is up. 
    [ "$NETWORKING" = "no" ] && exit 0
    nginx="/usr/sbin/nginx"
    prog=$(basename $nginx)
    NGINX_CONF_FILE="/etc/nginx/nginx.conf"
    [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
    lockfile=/var/lock/subsys/nginx
    start() {
        [ -x $nginx ] || exit 5
        [ -f $NGINX_CONF_FILE ] || exit 6
        echo -n $"Starting $prog: " 
        daemon $nginx -c $NGINX_CONF_FILE
        retval=$?
        echo 
        [ $retval -eq 0 ] && touch $lockfile
        return $retval
    }
    stop() {
        echo -n $"Stopping $prog: " 
        killproc $prog -QUIT
        retval=$?
        echo 
        [ $retval -eq 0 ] && rm -f $lockfile
        return $retval
    killall -9 nginx
    }
    restart() {
        configtest || return $?
        stop
        sleep 1
        start
    }
    reload() {
        configtest || return $?
        echo -n $"Reloading $prog: " 
        killproc $nginx -HUP
    RETVAL=$?
        echo 
    }
    force_reload() {
        restart
    }
    configtest() {
    $nginx -t -c $NGINX_CONF_FILE
    }
    rh_status() {
        status $prog
    }
    rh_status_q() {
        rh_status >/dev/null 2>&1
    }
    case "$1" in
        start)
            rh_status_q && exit 0
        $1
            ;;
        stop)
            rh_status_q || exit 0
            $1
            ;;
        restart|configtest)
            $1
            ;;
        reload)
            rh_status_q || exit 7
            $1
            ;;
        force-reload)
            force_reload
            ;;
        status)
            rh_status
            ;;
        condrestart|try-restart)
            rh_status_q || exit 0
                ;;
        *)
          echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" 
            exit 2
    esac
    
    [root@DaMoWang nginx-1.15.1]# chmod +x /etc/init.d/nginx 
    [root@DaMoWang nginx-1.15.1]# chkconfig --add nginx 
    [root@DaMoWang nginx-1.15.1]# vim /etc/nginx/nginx.conf   # 编辑nginx配置文件 , 关联php
    
    user nginx; worker_processes
    1; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; server { listen 80; server_name 192.168.94.111; location / { root /var/www/html; index index.php index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/www/html; } location ~ \.php$ { root /var/www/html; fastcgi_pass 192.168.94.111:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name; include fastcgi_params; } } sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; }
    [root@DaMoWang nginx-1.15.1]# mkdir /var/tmp/nginx/client -p
    [root@DaMoWang nginx-1.15.1]# systemctl start nginx

    测试:

    安装MySQL :

    [root@DaMoWang ~]# useradd -M -s /sbin/nologin mysql    # 创建mysql用户
    [root@DaMoWang ~]# tar xf mysql-boost-5.7.21.tar.gz -C /usr/src/
    [root@DaMoWang ~]# cd /usr/src/mysql-5.7.21/
    [root@DaMoWang mysql-5.7.21]# cmake \
     -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
     -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
     -DSYSCONFDIR=/etc \
     -DSYSTEMD_PID_DIR=/usr/local/mysql \
     -DDEFAULT_CHARSET=utf8 \
     -DDEFAULT_COLLATION=utf8_general_ci \
     -DWITH_INNOBASE_STORAGE_ENGINE=1 \
     -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
     -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
     -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
     -DMYSQL_DATADIR=/usr/local/mysql/data \
     -DWITH_BOOST=boost \
     -DWITH_SYSTEMD=1 \
     && make -j4 && make install
    [root@DaMoWang mysql-5.7.21]# chown -R mysql.mysql /usr/local/mysql/
    [root@DaMoWang mysql-5.7.21]# vim /etc/my.cnf
    
    [client]                                                                                     
    port = 3306 
    default-character-set=utf8
    socket = /usr/local/mysql/mysql.sock
    
    [mysql]
    port = 3306
    default-character-set=utf8
    socket = /usr/local/mysql/mysql.sock
    
    [mysqld]
    user = mysql
    basedir = /usr/local/mysql
    datadir = /usr/local/mysql/data
    port = 3306
    character_set_server=utf8
    pid-file = /usr/local/mysql/mysqld.pid
    socket = /usr/local/mysql/mysql.sock
    server-id = 1 
    
    [root@DaMoWang mysql-5.7.21]# chown mysql.mysql /etc/my.cnf
    [root@DaMoWang mysql-5.7.21]# echo -e 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' "\nexport PATH" >> /etc/profile
    [root@DaMoWang mysql-5.7.21]# source /etc/profile
    [root@DaMoWang mysql-5.7.21]# cd /usr/local/mysql/
    [root@DaMoWang mysql]# bin/mysqld \
    > --initialize-insecure \
    > --user=mysql \
    > --basedir=/usr/local/mysql \
    > --datadir=/usr/local/mysql/data/
    
    [root@DaMoWang mysql]# cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
    [root@DaMoWang mysql]# systemctl daemon-reload
    [root@DaMoWang mysql]# systemctl start mysqld

    安装php :

    [root@DaMoWang ~]# tar xf php-7.2.7.tar.gz -C /usr/src
    [root@DaMoWang ~]# cd /usr/src/php-7.2.7/
    [root@DaMoWang php-7.2.7]# ./configure \
     --prefix=/usr/local/php \
     --with-config-file-path=/etc \
     --enable-fpm \
     --with-fpm-user=nginx  \
     --with-fpm-group=nginx \
     --enable-inline-optimization \
     --disable-debug \
     --disable-rpath \
     --enable-shared  \
     --enable-soap \
     --with-libxml-dir \
     --with-xmlrpc \
     --with-openssl \
     --with-mhash \
     --with-pcre-regex \
     --with-sqlite3 \
     --with-zlib \
     --enable-bcmath \
     --with-iconv \
     --with-bz2 \
     --enable-calendar \
     --with-curl \
     --with-cdb \
     --enable-dom \
     --enable-exif \
     --enable-fileinfo \
     --enable-filter \
     --with-pcre-dir \
     --enable-ftp \
     --with-gd \
     --with-openssl-dir \
     --with-jpeg-dir \
     --with-png-dir \
     --with-zlib-dir  \
     --with-freetype-dir \
     --enable-gd-jis-conv \
     --with-gettext \
     --with-gmp \
     --with-mhash \
     --enable-json \
     --enable-mbstring \
     --enable-mbregex \
     --enable-mbregex-backtrack \
     --with-libmbfl \
     --with-onig \
     --enable-pdo \
     --with-mysqli=mysqlnd \
     --with-pdo-mysql=mysqlnd \
     --with-zlib-dir \
     --with-pdo-sqlite \
     --with-readline \
     --enable-session \
     --enable-shmop \
     --enable-simplexml \
     --enable-sockets  \
     --enable-sysvmsg \
     --enable-sysvsem \
     --enable-sysvshm \
     --enable-wddx \
     --with-libxml-dir \
     --with-xsl \
     --enable-zip \
     --enable-mysqlnd-compression-support \
     --with-pear \
     --enable-opcache \
     && make -j4 && make install
    
    [root@DaMoWang php-7.2.7]# ln -s /usr/local/php/bin/* /usr/local/bin/
    [root@DaMoWang php-7.2.7]# php -v
    PHP 7.2.7 (cli) (built: Aug  3 2018 01:03:35) ( NTS )
    Copyright (c) 1997-2018 The PHP Group
    Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    
    [root@DaMoWang php-7.2.7]# cp php.ini-production /etc/php.ini
    [root@DaMoWang php-7.2.7]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
    [root@DaMoWang php-7.2.7]# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
    [root@DaMoWang php-7.2.7]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
    [root@DaMoWang php-7.2.7]# chmod +x /etc/init.d/php-fpm
    [root@DaMoWang php-7.2.7]# chkconfig --add php-fpm
    [root@DaMoWang php-7.2.7]# vim /usr/local/php/etc/php-fpm.d/www.conf
    # 把listen = 127.0.0.0:9000 修改为 listen = 192.168.94.111:9000 
    [root@DaMoWang php-7.2.7]# systemctl start php-fpm
     

    编写测试页面 :

    [root@DaMoWang ~]# vim /var/www/html/1.php 
    <?php phpinfo(); ?>

    测试 :

    [root@DaMoWang ~]# vim /var/www/html/2.php 
    <?php                                                                                        
    $link=mysqli_connect('192.168.94.111','damowang','475541270');
    if($link) echo "<h1>Success!!</h1>";
    else echo "Fail!!";
    ?>

    授权MySQL用户 :

    [root@DaMoWang ~]# mysql -uroot -p
    Enter password:
    mysql> grant all on *.* to 'damowang'@'%' identified by '475541270'

    测试 : 

    --求知若饥 虚心若愚
  • 相关阅读:
    演示使用Metasploit入侵Windows
    Metasploit的基本使用
    安装使用lynis扫描Linux的安全漏洞
    使用Metasploit收集邮箱信息
    Kali Linux:使用nmap扫描主机
    Kali Linux安装SSH Server
    【转】PHP 无限级分类(递归)
    【转】Mysql only_full_group_by以及其他关于sql_mode原因报错详细解决方案
    ERROR 1366 (HY000): Incorrect string value: 'xADxE5x9BxBDxE9x82...' fo的解决方法
    深入理解HTTP协议
  • 原文地址:https://www.cnblogs.com/bigdevilking/p/9414186.html
Copyright © 2011-2022 走看看