• LNMP架构下部署Discuz!社区论坛与Wordpress博客


    目录

    一、编译安装Nginx

    1、关闭防火墙

     2、安装依赖包

    ​编辑3、创建运行用户

     4、压缩软件包并编译安装

    5、软链接路径优化  

     6、添加Nginx系统服务

    二.编译安装MySQL服务 

    1.安装依赖环境

    2、创建运行用户

    3、编译安装

    4、修改mysql 配置文件

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

    6、设置路径环境变量

    7、初始化数据库

    8、添加mysqld系统服务

    9、修改mysql 的登录密码

    10、授权远程登录

    三、编译安装php软件

    1、安装环境依赖包

    2、编译安装

    ​3、路径优化

    4、调整PHP配置文件

    5、启动php-fpm

    四、配置 Nginx 支持 PHP 解析

    1、进入nginx主配置文件进行修改

    2、创建并验证PHP测试页

    3、验证数据库工作是否正常

    五、安装论坛

    1、安装部署

    2、网页测试

    六、安装博客


    一、编译安装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、创建运行用户

    • nginx 服务程序默认 以 nobody 身份运行,建议为其创建专门的用户账户,以便更准确的控制访问权限
    useradd -M -s /sbin/nologin nginx

     4、压缩软件包并编译安装

    1. #切换至/opt
    2. cd /opt
    3. #拖入安装压缩包
    4. #解压nginx文件
    5. tar zxvf nginx-1.22.0.tar.gz
    6. #切换目录
    7. cd nginx-1.22.0/
    8. #检测环境并安装功能
    9. ./configure \
    10. --prefix=/usr/local/nginx \
    11. --user=nginx \
    12. --group=nginx \
    13. --with-http_stub_status_module
    14. #安装
    15. make -j4 && make install

     

    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. ##磁盘上的ngin服务更改,运行'systemctl daemon-reload'重新加载单元。
    17. systemctl daemon-reload
    18. #赋予权限
    19. chmod 777 /lib/systemd/system/nginx.service
    20. #开机自启动
    21. systemctl enable --now nginx.service

     

    二.编译安装MySQL服务 

    1.安装依赖环境

    1. yum -y install \
    2. ncurses \
    3. ncurses-devel \
    4. bison \
    5. cmake
    6. yum -y install gcc gcc-c++ cmake bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel   ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel

    2、创建运行用户

    useradd -M -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. cmake \
    9. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
    10. -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
    11. -DSYSCONFDIR=/etc \
    12. -DSYSTEMD_PID_DIR=/usr/local/mysql \
    13. -DDEFAULT_CHARSET=utf8 \
    14. -DDEFAULT_COLLATION=utf8_general_ci \
    15. -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    16. -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
    17. -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
    18. -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
    19. -DMYSQL_DATADIR=/usr/local/mysql/data \
    20. -DWITH_BOOST=boost \
    21. -DWITH_SYSTEMD=1
    22. #安装(时间较久
    23. make -j4 && make install
    24. #############################注释#############################
    25. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
    26. #指定mysql的安装路径
    27. -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
    28. #指定mysql进程监听套接字文件(数据库连接文件)的存储路径
    29. -DSYSCONFDIR=/etc \
    30. #指定配置文件的存储路径
    31. -DSYSTEMD_PID_DIR=/usr/local/mysql \
    32. #指定进程文件的存储路径
    33. -DDEFAULT_CHARSET=utf8 \
    34. #指定默认使用的字符集编码,如utf8
    35. -DDEFAULT_COLLATION=utf8_general_ci \
    36. #指定默认使用的字符集校对规则
    37. -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    38. #安装INNOBASE存储引擎
    39. -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
    40. #安装ARCHIVE存储引擎
    41. -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
    42. #安装BLACKHOLE存储引擎
    43. -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
    44. #安装FEDERATED存储引擎
    45. -DMYSQL_DATADIR=/usr/local/mysql/data \
    46. #指定数据库文件的存储路径
    47. -DWITH_BOOST=boost \
    48. #指定boost的路径,
    49. -DWITH_SYSTEMD=1
    50. #生成便于systemctl管理的文件

    4、修改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

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

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

    6、设置路径环境变量

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

    7、初始化数据库

    1. 切换至指定目录
    2. cd /usr/local/mysql/bin/
    3. #初始化数据库
    4. ./mysqld \
    5. --initialize-insecure \
    6. --user=mysql \
    7. --basedir=/usr/local/mysql \
    8. --datadir=/usr/local/mysql/data

    8、添加mysqld系统服务

    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

    9、修改mysql 的登录密码

    1. mysqladmin -u root -p password "abc123"     
    2. 给root账号设置密码为abc123,提示输入的是原始密码(为空)要求输入的是原密码直接回车即可

    10、授权远程登录

    1. mysql -u root -p
    2. #登入数据库验证是否成功
    3. quit
    4. #退出数据库

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


    3、路径优化

    1. ln -s /usr/local/php/bin/* /usr/local/bin/
    2. ln -s /usr/local/php/sbin/* /usr/local/sbin/

    4、调整PHP配置文件

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


     

    5、启动php-fpm

    1. /usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
    2. netstat -anpt | grep 9000
    3. #PHP-FPM(FastCGI Process Manager:FastCGI 进程管理器)是一个 PHPFastCGI 管理器, 由于Nginx服务器不能处理动态页面,需要由 Nginx 把动态请求交给 php-fpm 进程进行解析。
    4.  
    5. cd /opt/php-7.1.10/sapi/fpm
    6. cp php-fpm.service /usr/lib/systemd/system/php-fpm.service
    7. systemctl restart php-fpm.service


     

    四、配置 Nginx 支持 PHP 解析

    1、进入nginx主配置文件进行修改

    1. vim /usr/local/nginx/conf/nginx.conf
    2. --65行--取消注释,修改
    3. location ~ \.php$ {
    4. root html; $document_root
    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

    2、创建并验证PHP测试页

    1. #创建网页文件
    2. vim /usr/local/nginx/html/index.php
    3. phpinfo();
    4. ?>
    5. #重启nginx服务
    6. systemctl restart nginx
    7. #在网页测试
    8. http://192.168.80.112/index.php

    3、验证数据库工作是否正常

    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. <?php
    8. $link=mysqli_connect('192.168.80.112','bbsuser','admin123');
    9. if($link) echo "

      Success!!

      "
      ;
    10. else echo "Fail!!";
    11. ?>
    12. 浏览器访问
    13. http://192.168.80.112/index.php

    五、安装论坛

    1、安装部署

    1. 【部署 Discuz!社区论坛 Web 应用】
    2. cd /opt
    3. unzip Discuz_X3.4_SC_UTF8.zip  
    4. cd /opt/dis/dir_SC_UTF8/
    5. cp -r upload/ /usr/local/nginx/html/bbs/
    6. 调整论坛目录的权限:
    7. cd /usr/local/nginx/html/bbs/
    8. chown -R nginx.nginx ./config/
    9. chown -R nginx.nginx ./data/
    10. chown -R nginx.nginx ./uc_client/
    11. chown -R nginx.nginx ./uc_server/
    12. 都要处理
    13. chmod -R 777 ./config/
    14. chmod -R 777 ./data/
    15. chmod -R 777 ./uc_client/
    16. chmod -R 777 ./uc_server/
    17. 论坛页面访问
    18. http://192.168.91.100/bbs/install/index.php

    2、网页测试

    1. http://192.168.80.112/bbs/install/index.php
    2. #安装
    3. http://192.168.80.112/bbs/index.php
    4. #可以直接去论坛首页
    5. #####################数据库信息#########################
    6. 数据库服务器:localhost ###本地架设就用localhost,如何不是在在本机上就要填写IP地址和端口号
    7. 数据库名字:bbs
    8. 数据库用户名:bbsuser
    9. 数据库密码:admin123
    10. 管理员账号:admin
    11. 管理员密码:admin123

     

    六、安装博客

    1. tar xf wordpress-5.4.1-zh_CN.tar.gz -C /opt/
    2. cp -r wordpress /usr/local/nginx/html/
    3. 安装页面在 wp-admin 下
    4. chmod 777 wordpress/ -R
    5. mysql -u root -p
    6. CREATE DATABASE blog;
    7. GRANT all ON blog.* TO 'bloguser'@'%' IDENTIFIED BY 'admin123';
    8. GRANT all ON blog.* TO 'bloguser'@'localhost' IDENTIFIED BY 'admin123';
    9. flush privileges;
    10. wordpress/wp-admin
    11. http://192.168.80.112/wordpress/wp-admin/install.php
    12. 数据库名字:bbs
    13. 数据库用户名:bbsuser
    14. 数据库密码:admin123
    15. #网页访问
    16. http://192.168.91.100/wordpress/wp-admin/index.php

     

     

  • 相关阅读:
    C++模板初阶 —— 函数模板、类模板、模板的声明和定义分离(多文件使用的注意事项)
    Swin_Unet & Trans_UNet & Unet & Deeplabv3网络推理时间对比
    Replication(上):常见复制模型&分布式系统挑战
    设计模式之适配器模式
    梳理Langchain-Chatchat-UI接口文档
    Unity Render Streaming通过Js与Unity自定义通讯
    mac使用UTM虚拟ubuntu,命令行怎么复制黏贴呢
    如何在面试中展示跨领域的能力
    WRKY转录因子通过促进GhMKK2介导的类黄酮生物合成调节棉花对尖孢镰刀菌的抗性
    2023考研王道计算机408数据结构+操作系统+计算机组成原理+计算机网络
  • 原文地址:https://blog.csdn.net/weixin_58376680/article/details/136342974