• LNMP架构概述及相关服务的搭建


    目录

    一,LNMP架构的部署

    二,手工编译安装Nginx服务

    1,关闭防火墙和安全机制

     2,安装环境依赖包,并且创建程序用户

     3,编译安装nginx

     4,路径优化

     5,启动,停止nginx服务

     6,添加nginx系统服务

     七,通过systemctl命令能否正常启动,停止,重启nginx服务

    三,安装MySQL服务

    一,安装MySQL 环境依赖包

     二,创建运行用户

     三,编译安装mysql

    四,数据库目录进行权限调整

     五,修改MySQL配置文件

     六更改mysql安装目录和配置文件的属主属组

     七,设置路径的环境变量

     八,初始化数据库

    九 添加MySQL系统服务

     十,修改MySQL的登录密码

     四,安装PHP服务

    1,安装环境依赖包

    2,编译安装

     3,路径优化

     4,调整主配置文件

     5,调整主配置文件

    6,调整进程配置文件

     7,调整扩展配置

    8, 启动php-fpm

    9 配置nginx支持PHP解析

     下面测试数据库工作是否正常

     五,部署 Discuz ! 社区论坛 web 应用

    1,解压安装包并给予权限


    一,LNMP架构的部署

    • 1,安装Nginx服务
    • 2,安装Mysql服务
    • 3,安装配置PHP解析环境
    • 4,部署Discuz! 社区论坛Web应用

    二,手工编译安装Nginx服务

    1,关闭防火墙和安全机制

     2,安装环境依赖包,并且创建程序用户

    Nginx 的配置及运行需要 pcre、zlib 等软件包的支持,因此应预先安装这些软件的开发 包(devel),以便提供相应的库和头文件,确保 Nginx 的安装顺利完成

     

     3,编译安装nginx

    1. cd nginx-1.12.0/
    2. ./configure \
    3. --prefix=/usr/local/nginx \ #指定nginx的安装路径
    4. --user=nginx \ #指定用户名
    5. --group=nginx \ #指定组名
    6. --with-http_stub_status_module #启用 http_stub_status_module 模块以支持状态统计
    7. make && make install
    8. ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ #让系统识别nginx的操作命令

     4,路径优化

    为了使 Nginx 服务器的运行更加方便,可以为主程序 nginx 创建链接文件,以便管理员 直接执行“nginx”命令就可以调用 Nginx 的主程序(让系统可以识别

     5,启动,停止nginx服务

    1. nginx -t 检查配置文件是否配置正确
    2. nginx 启动
    3. 停止nginx服务(控制手段)
    4. [root@kya conf]#cat /usr/local/nginx/logs/nginx.pid
    5. 8924
    6. kill -3 pid号
    7. kill -s quit pid号
    8. killall -3 nginx
    9. killall -s qult nginx
    10. 重载
    11. 优雅的杀死,停止 kill systemctl stop
    12. 暴力终止 rm -rf nginx.pid 强行关机断电

     6,添加nginx系统服务

    1. ##配置参数解释##
    2. [Unit]
    3. Description=nginx ####描述
    4. After=network.target ####描述服务类别
    5. [Service]
    6. Type=forking ###后台运行形式
    7. PIDFile=/usr/local/nginx/logs/nginx.pid ###PID文件位置
    8. ExecStart=/usr/local/nginx/sbin/nginx ###启动服务
    9. ExecReload=/usr/bin/kill -s HUP $MAINPID ###根据PID重载配置
    10. ExecStop=/usr/bin/kill -s QUIT $MAINPID ###根据PID终止进程
    11. PrivateTmp=true
    12. [Install]
    13. WantedBy=multi-user.target

     

     

     七,通过systemctl命令能否正常启动,停止,重启nginx服务

     


     进入nginx访问界面

    三,安装MySQL服务

    一,安装MySQL 环境依赖包

    1. yum -y install \
    2. ncurses \
    3. ncurses-devel \
    4. bison \
    5. cmake
    6. yum -y install \
    7. gd \
    8. libjpeg libjpeg-devel \
    9. libpng libpng-devel \
    10. freetype freetype-devel \
    11. libxml2 libxml2-devel \
    12. zlib zlib-devel \
    13. curl curl-devel \
    14. openssl openssl-devel

     

     二,创建运行用户

     三,编译安装mysql

    1. cmake \
    2. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
    3. -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
    4. -DSYSCONFDIR=/etc \
    5. -DSYSTEMD_PID_DIR=/usr/local/mysql \
    6. -DDEFAULT_CHARSET=utf8 \
    7. -DDEFAULT_COLLATION=utf8_general_ci \
    8. -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    9. -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
    10. -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
    11. -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
    12. -DMYSQL_DATADIR=/usr/local/mysql/data \
    13. -DWITH_BOOST=boost \
    14. -DWITH_SYSTEMD=1

     [root@kya mysql-5.7.20]#
    [root@kya mysql-5.7.20]#
    [root@kya mysql-5.7.20]#make && make install

    四,数据库目录进行权限调整

     五,修改MySQL配置文件

    1. vim /etc/my.cnf
    2. [client]
    3. port = 3306
    4. socket=/usr/local/mysql/mysql.sock
    5. [mysqld]
    6. user = mysql
    7. basedir=/usr/local/mysql
    8. datadir=/usr/local/mysql/data
    9. port = 3306
    10. character-set-server=utf8
    11. pid-file = /usr/local/mysql/mysqld.pid
    12. socket=/usr/local/mysql/mysql.sock
    13. bind-address = 0.0.0.0
    14. skip-name-resolve
    15. max_connections=2048
    16. default-storage-engine=INNODB
    17. max_allowed_packet=16M
    18. server-id = 1
    19. 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

     

     六更改mysql安装目录和配置文件的属主属组

    1. chown -R mysql:mysql /usr/local/mysql/
    2. chown mysql:mysql /etc/my.cnf

     七,设置路径的环境变量

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

     八,初始化数据库

    1. cd /usr/local/mysql/bin/
    2. ./mysqld \
    3. --initialize-insecure \
    4. --user=mysql \
    5. --basedir=/usr/local/mysql \
    6. --datadir=/usr/local/mysql/data

    九 添加MySQL系统服务

    1. cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
    2. systemctl daemon-reload
    3. systemctl start mysqld.service
    4. systemctl enable mysqld

     十,修改MySQL的登录密码

    mysqladmin -u root -p password "123456"
    

    mysql -u root -p ##这个命令敲下,提示要输入密码,这个就是刚才设置的密码123456

    进入

     四,安装PHP服务

    1,安装环境依赖包

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

    2,编译安装

    1. #=====解压安装包===========
    2. cd /opt
    3. tar xjvf php-7.1.24.tar。bz2
    4. #=========检查环境,设置安装模块==========
    5. ./configure \
    6. --prefix=/usr/local/php \
    7. --with-mysql-sock=/usr/local/mysql/mysql.sock \
    8. --with-mysqli \
    9. --with-zlib \
    10. --with-curl \
    11. --with-gd \
    12. --with-jpeg-dir \
    13. --with-png-dir \
    14. --with-freetype-dir \
    15. --with-openssl \
    16. --enable-fpm \
    17. --enable-mbstring \
    18. --enable-xml \
    19. --enable-session \
    20. --enable-ftp \
    21. --enable-pdo \
    22. --enable-tokenizer \
    23. --enable-zip
    24. #===========编译安装==========
    25. make && make install

     

     3,路径优化

    1. #将bin和sbin下面所有执行程序添加到环境变量中
    2. ln -s /usr/local/php/bin/* /usr/local/bin/
    3. ln -s /usr/local/php/sbin/* /usr/local/sbin/

     4,调整主配置文件

    1. php有三个配置文件:
    2. php.ini 主配置文件
    3. php-fpm.conf 进程服务配置文件
    4. www.conf 扩展配置文件
    5. ===========================================================
    6. #调整主配置文件:
    7. cp /opt/php-7.1.24/php.ini-development /usr/local/php/lib/php.ini
    8. vim /usr/local/php/lib/php.ini
    9. --1170行--修改
    10. mysqli.default_socket = /usr/local/mysql/mysql.sock
    11. --939行--取消注释,修改
    12. date.timezone = Asia/Shanghai
    13. php -m #验证安装的模块
    14. #调整进程服务配置文件:
    15. cd /usr/local/php/etc/
    16. cp php-fpm.conf.default php-fpm.conf
    17. vim php-fpm.conf
    18. --17行--去掉";"注释
    19. pid = run/php-fpm.pid
    20. #调整扩展配置文件:
    21. cd /usr/local/php/etc/php-fpm.d/
    22. cp www.conf.default www.conf

     5,调整主配置文件

     

     

     

    6,调整进程配置文件

     

     7,调整扩展配置

    8, 启动php-fpm

     

    9 配置nginx支持PHP解析

    1. vim /usr/local/nginx/conf/nginx.conf
    2. --65行--取消注释,修改
    3. location ~ \.php$ {
    4. root html;
    5. fastcgi_pass 127.0.0.1:9000;
    6. fastcgi_index index.php;
    7. fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name; #将 /scripts 修改为nginx的工作目录
    8. #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #$document_root 代表当前请求在root指令中指定的值
    9. include fastcgi_params;
    10. }
    11. systemctl restart nginx.service

     

    在网页测试http://192.168.135.111/index.php 

     

     下面测试数据库工作是否正常

    1. mysql -u root -p
    2. CREATE DATABASE bbs;
    3. GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';
    4. GRANT all ON bbs.* TO 'bbsuser'@'localhost' IDENTIFIED BY 'admin123';
    5. flush privileges;
    6. vim /usr/local/nginx/html/index.php #替换原来的测试页内容
    7. $link=mysqli_connect('20.0.0.55','bbsuser','admin123');
    8. if($link) echo "

      welcometo ydq!!!!

      "
      ;
    9. else echo "Fail!!";
    10. ?>

     

     

     五,部署 Discuz ! 社区论坛 web 应用

    1,解压安装包并给予权限

    1. cd /opt
    2. unzip /opt/Discuz_X3.4_SC_UTF8.zip -d /tmp
    3. #上传站点更新包
    4. cd /opt/dis/dir_SC_UTF8/
    5. cp -r upload/ /usr/local/nginx/html/bbs
    6. cd /usr/local/nginx/html/bbs
    7. chmod -R 777 ./config/
    8. chmod -R 777 ./data/
    9. chmod -R 777 ./uc_*

    cd /opt

    unzip Discuz_X3.4_SC_UTF8.zip -d /tmp

    cd /tmp/dir_SC_UTF8/

    cp -r upload/ /usr/local/nginx/html/bbs/

    cd /usr/local/nginx/html/bbs/

    chown -R root:nginx ./config/

    chown -R root:nginx ./data/

    chown -R root:nginx ./uc_client/

    chown -R root:nginx ./uc_server/

    chmod -R 777 ./config/

    chmod -R 777 ./data/

    chmod -R 777 ./uc_client/

    chmod -R 777 ./uc_server/

     网页:192.168.135.111/bbs/install/index.php 进入,开始安装

     

  • 相关阅读:
    javascripe :验证是否已存在
    HTML5期末大作业:基于HTML+CSS+JavaScript实现中国风文化传媒企业官网源码
    一文详解|Go 分布式链路追踪实现原理
    Java设计模式-活动对象与访问者
    计算机毕业设计微信小程序开发项目源代码网上购物商城|电商+后台管理系统|前后分离VUE[包运行成功]
    clip studio paint插件开发之服务套件(三)
    5G基带厂商
    Linux下Qt打包
    云原生Kubernetes:K8S集群版本升级(v1.20.6 - v1.20.15)
    【python】(五)python函数和python匿名函数lambda
  • 原文地址:https://blog.csdn.net/m0_54594153/article/details/126485331