LNMP架构的源码编译

 

一、编译安装Nginx

1关闭防火墙

  1.  
    systemctl stop firewalld
  2.  
    systemctl disable firewalld
  3.  
    setenforce 0

 

2 安装依赖包

yum -y install pcre-devel zlib-devel gcc gcc-c++ make

 

 

 

3 创建运行用户

useradd -M -s /sbin/nologin nginx

 

4 编译安装

  1.  
    #切换至/opt
  2.  
    cd /opt
  3.  
    #解压nginx文件
  4.  
    tar zxvf nginx-1.12.0.tar.gz
  5.  
    #切换目录
  6.  
    cd nginx-1.12.0/
  7.  
  8.  
    #编译
  9.  
    ./configure \
  10.  
    --prefix=/usr/local/nginx \
  11.  
    --user=nginx \
  12.  
    --group=nginx \
  13.  
    --with-http_stub_status_module
  14.  
  15.  
    #安装
  16.  
    make && make install -j4

 

 

 

5路径优化

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

 

 

6 添加 Nginx 系统服务

  1.  
    #创建.service文件
  2.  
    vim /lib/systemd/system/nginx.service
  3.  
    #文件内容
  4.  
    [Unit]
  5.  
    Description=nginx
  6.  
    After=network.target
  7.  
    [Service]
  8.  
    Type=forking
  9.  
    PIDFile=/usr/local/nginx/logs/nginx.pid
  10.  
    ExecStart=/usr/local/nginx/sbin/nginx
  11.  
    ExecReload=/bin/kill -s HUP $MAINPID
  12.  
    ExecStop=/bin/kill -s QUIT $MAINPID
  13.  
    PrivateTmp=true
  14.  
    [Install]
  15.  
    WantedBy=multi-user.target
  16.  
  17.  
    ##磁盘上的ngin服务更改,运行'systemctl daemon-reload'重新加载单元。
  18.  
    systemctl daemon-reload
  19.  
    systemctl start nginx

 

二、编译安装MySQL服务

1.安装依赖环境

  1.  
    yum -y install \
  2.  
    ncurses \
  3.  
    ncurses-devel \
  4.  
    bison \
  5.  
    cmake

 

2.创建运行用户

 useradd -s /sbin/nologin  mysql

 

3.编译安装

  1.  
    #切换至/opt
  2.  
    cd /opt/
  3.  
    #解压下载好的压缩包
  4.  
    tar -zxf mysql-boost-5.7.20.tar.gz
  5.  
    #切换至解压后的目录
  6.  
    cd mysql-5.7.20/
  7.  
  8.  
    #编译
  9.  
    cmake \
  10.  
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
  11.  
    -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
  12.  
    -DSYSCONFDIR=/etc \
  13.  
    -DSYSTEMD_PID_DIR=/usr/local/mysql \
  14.  
    -DDEFAULT_CHARSET=utf8 \
  15.  
    -DDEFAULT_COLLATION=utf8_general_ci \
  16.  
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
  17.  
    -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
  18.  
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
  19.  
    -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
  20.  
    -DMYSQL_DATADIR=/usr/local/mysql/data \
  21.  
    -DWITH_BOOST=boost \
  22.  
    -DWITH_SYSTEMD=1
  23.  
  24.  
    #安装
  25.  
    make && make install -j4

 

 

4.数据库目录进行权限调整

chown -R mysql:mysql /usr/local/mysql/

 

5.调整配置文件

  1.  
    #进入配置文件,把内容全删掉,然后加入以下内容
  2.  
    vi /etc/my.cnf
  3.  
  4.  
    [client]
  5.  
    port = 3306
  6.  
    default-character-set=utf8
  7.  
    socket = /usr/local/mysql/mysql.sock
  8.  
  9.  
    [mysql]
  10.  
    port = 3306
  11.  
    default-character-set=utf8
  12.  
    socket = /usr/local/mysql/mysql.sock
  13.  
  14.  
    [mysqld]
  15.  
    user = mysql
  16.  
    basedir = /usr/local/mysql
  17.  
    datadir = /usr/local/mysql/data
  18.  
    port = 3306
  19.  
    character_set_server=utf8
  20.  
    pid-file = /usr/local/mysql/mysqld.pid
  21.  
    socket = /usr/local/mysql/mysql.sock
  22.  
    server-id = 1
  23.  
  24.  
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
  25.  

 

6.设置环境变量

  1.  
    echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
  2.  
    echo 'export PATH' >> /etc/profile
  3.  

 

7.初始化数据库

  1.  
    #切换至指定目录
  2.  
    cd /usr/local/mysql/
  3.  
  4.  
    #初始化数据库
  5.  
    bin/mysqld \
  6.  
    --initialize-insecure \
  7.  
    --user=mysql \
  8.  
    --basedir=/usr/local/mysql \
  9.  
    --datadir=/usr/local/mysql/data
  10.  
  11.  
    #拷贝文件
  12.  
    cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

 

8.数据库开启自启、 关闭、状态

  1.  
    #开启自启
  2.  
    systemctl enable mysqld
  3.  
    #启动
  4.  
    systemctl start mysqld
  5.  
    #关闭
  6.  
    systemctl stop mysqld
  7.  
    #查看状态
  8.  
    systemctl status mysqld
  9.  
    #看有没有开启成功
  10.  
    netstat -anpt | grep 3306

 

9、设置Mysql密码

mysqladmin -u root -p password

 

10.登录数据库

mysql -u root -p 

 

三、安装配置php文件

1.安装环境依赖包

  1.  
    yum -y install \
  2.  
    libjpeg \
  3.  
    libjpeg-devel \
  4.  
    libpng libpng-devel \
  5.  
    freetype freetype-devel \
  6.  
    libxml2 \
  7.  
    libxml2-devel \
  8.  
    zlib zlib-devel \
  9.  
    curl curl-devel \
  10.  
    openssl openssl-devel

 

2.编译安装

  1.  
    #切换至/opt目录
  2.  
    cd /opt/
  3.  
    #解压文件
  4.  
    tar -jxf php-7.1.10.tar.bz2
  5.  
    #切换至解压后的目录
  6.  
    cd php-7.1.10
  7.  
  8.  
    #编译
  9.  
    ./configure \
  10.  
    --prefix=/usr/local/php \
  11.  
    --with-mysql-sock=/usr/local/mysql/mysql.sock \
  12.  
    --with-mysqli \
  13.  
    --with-zlib \
  14.  
    --with-curl \
  15.  
    --with-gd \
  16.  
    --with-jpeg-dir \
  17.  
    --with-png-dir \
  18.  
    --with-freetype-dir \
  19.  
    --with-openssl \
  20.  
    --enable-fpm \
  21.  
    --enable-mbstring \
  22.  
    --enable-xml \
  23.  
    --enable-session \
  24.  
    --enable-ftp \
  25.  
    --enable-pdo \
  26.  
    --enable-tokenizer \
  27.  
    --enable-zip
  28.  
  29.  
  30.  
    #安装
  31.  
    make && make install -j4

 

 

 

3.修改php三个配置文件

#三个配置文件

php.ini 核心配置文件

php-fpm.conf 进程服务配置文件

www.conf 扩展配置文件

  1.  
    #修改php.ini 核心配置文件  
  2.  
    #拷贝
  3.  
    cp php.ini-development /usr/local/php/lib/php.ini
  4.  
    #进入核心配置文件  
  5.  
    vim /usr/local/php/lib/php.ini
  6.  
    #修改第1170行和939行
  7.  
    1170 mysqli.default_socket = /usr/local/mysql/mysql.sock
  8.  
    939 date.timezone = Asia/Shanghai
  9.  
  10.  
    #验证安装的模块
  11.  
    /usr/local/php/bin/php -m

 

 

 

 

 

 

  1.  
    #配置及优化FPM模块
  2.  
    cd /usr/local/php/etc/
  3.  
    cp php-fpm.conf.default php-fpm.conf
  4.  
    cd /usr/local/php/etc/php-fpm.d/
  5.  
    cp www.conf.default www.conf
  6.  
  7.  
    #进入目录
  8.  
    cd /usr/local/php/etc/
  9.  
    #进入进程服务配置文件
  10.  
    vi php-fpm.conf
  11.  
    pid = run/php-fpm.pid  #将这一行注释去掉
  12.  
  13.  
    #创建
  14.  
    /usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
  15.  
  16.  
    #查看结果
  17.  
    ps aux | grep -c "php-fpm"

 

 

 

 

 

  1.  
    #让nginx支持PHP功能
  2.  
  3.  
    #进入nginx主配置文件
  4.  
    vi /usr/local/nginx/conf/nginx.conf
  5.  
  6.  
    --65行--取消注释,修改
  7.  
    location ~ \.php$ {
  8.  
    root           html;
  9.  
    fastcgi_pass   127.0.0.1:9000;
  10.  
    fastcgi_index index.php;
  11.  
    fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name; #将/scripts修改为nginx的工作目录
  12.  
    include       fastcgi_params;
  13.  
    }
  14.  
  15.  
  16.  
    #创建网页文件
  17.  
    vi /usr/local/nginx/html/index.php
  18.  
  19.  
    <?php
  20.  
    phpinfo();
  21.  
    ?>
  22.  
  23.  

 

 

 

4. 验证PHP 测试页

  1.  
    #创建网页文件
  2.  
    vi /usr/local/nginx/html/index.php
  3.  
  4.  
    <?php
  5.  
    phpinfo();
  6.  
    ?>
  7.  
  8.  
    #重启nginx服务
  9.  
    systemctl restart nginx
  10.  
  11.  
    #在网页测试
  12.  
    “http://192.168.59.118/index.php”

 

 

四、部署论坛

1.部署

  1.  
    #登入数据库
  2.  
    mysql -u root -p
  3.  
  4.  
    CREATE DATABASE bbs;
  5.  
    GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';
  6.  
    GRANT all ON bbs.* TO 'bbsuser'@'localhost' IDENTIFIED BY 'admin123';
  7.  
    flush privileges;
  8.  
  9.  
    #重启服务
  10.  
    systemctl restart nginx
  11.  
  12.  
    #切换至/opt解压论坛压缩包
  13.  
    cd /opt
  14.  
    unzip Discuz_X3.4_SC_UTF8.zip  
  15.  
  16.  
    #切换至解压后的文件
  17.  
    cd dir_SC_UTF8/
  18.  
  19.  
    #拷贝文件至数据
  20.  
    cp -r upload/ /usr/local/nginx/html/bbs/
  21.  
  22.  
    #切换至数据库文件
  23.  
    cd /usr/local/nginx/html/bbs/
  24.  
  25.  
    #授权
  26.  
    chown -R root:nginx ./config/
  27.  
    chown -R root:nginx ./data/
  28.  
    chown -R root:nginx ./uc_client/
  29.  
    chown -R root:nginx ./uc_server/
  30.  
  31.  
    chmod -R 777 ./config/
  32.  
    chmod -R 777 ./data/
  33.  
    chmod -R 777 ./uc_client/
  34.  
    chmod -R 777 ./uc_server/

 

 

 

 

 

 

 

 

 

2.在网页测试

http://192.168.59.118/bbs/install/index.php

 

 

 

 

 

 

 

  1.  
    #可以直接去论坛首页
  2.  
    http://192.168.59.118/bbs/index.php

 

 
posted @ 2023-03-27 16:27  menglang  阅读(35)  评论(0)    收藏  举报