当前位置: 首页 > news >正文

部署基于 LNMP 的 Discuz! 论坛服务器

1. 部署基于 LNMP 的 Web 服务器

从 CentOS 7 模板机中克隆一台虚拟机

1.1 安装 Nginx

上传软件包 nginx-1.12.2.tar.gz 到虚拟机

# 1. 安装环境
[root@bbs ~ 09:45:42]# yum install -y pcre-devel zlib-devel# 2. 为 Nginx 创建用户
[root@bbs ~ 09:46:43]# useradd -M -s /sbin/nologin nginx# 3. 解压软件包
[root@bbs ~ 09:48:56]# tar -xvzf nginx-1.12.2.tar.gz # 4. 安装编译所需软件包
[root@bbs ~ 09:49:45]# yum install -y gcc gcc-c++# 5. 配置软件包
[root@bbs nginx-1.12.2 09:50:59]# cd nginx-1.12.2/
[root@bbs nginx-1.12.2 09:51:56]# ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module# 6. 编译并安装
[root@bbs nginx-1.12.2 09:52:10]# make -j16 && make install# 7. 配置软链接
[root@bbs nginx-1.12.2 09:53:03]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/# 8. 检查配置文件
[root@bbs nginx-1.12.2 09:54:04]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful# 9. 为 Nginx 配置 systemd 服务
[root@bbs nginx-1.12.2 11:08:24]# vim /lib/systemd/system/nginx.service
# --- nginx.service ---
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/bin/kill -s HUP $MAINPID
ExecStop=/usr/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
# --- nginx.service ---
[root@bbs nginx-1.12.2 11:10:46]# chmod 754 /lib/systemd/system/nginx.service 
[root@bbs nginx-1.12.2 11:11:05]# systemctl daemon-reload
[root@bbs nginx-1.12.2 11:11:23]# systemctl enable nginx --now# 10. 测试
[root@bbs nginx-1.12.2 11:13:28]# ss -anpt | grep nginx
LISTEN  0  128  *:80  *:*  users:(("nginx",pid=14660,fd=6),("nginx",pid=14659,fd=6))
[root@bbs nginx-1.12.2 11:13:37]# curl localhost
<title>Welcome to nginx!</title>

1.2 安装 MySQL

上传软件包 mysql-boost-5.7.20.tar.gz 到虚拟机的 /opt 目录下

# 1. 安装环境软件包
[root@bbs opt 11:16:44]# yum -y install ncurses ncurses-devel bison cmake# 2. 为 MySQL 创建用户
[root@bbs opt 11:17:15]# useradd -s /sbin/nologin mysql# 3. 解压并编译安装软件包
[root@bbs opt 11:19:15]# tar -xzvf mysql-boost-5.7.20.tar.gz
[root@bbs opt 11:19:41]# cd /opt/mysql-5.7.20/
[root@bbs mysql-5.7.20 11:19:50]# 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[root@bbs mysql-5.7.20 11:20:53]# make -j16 && make install# 4. 调整数据库目录权限
[root@bbs mysql-5.7.20 13:33:12]# chown -R mysql:mysql /usr/local/mysql/# 5. 调整配置文件
[root@bbs mysql-5.7.20 13:34:57]# 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# 6. 配置数据库基本设置
[root@bbs mysql-5.7.20 13:36:27]# 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
[root@bbs mysql-5.7.20 13:38:49]# chown mysql:mysql /etc/my.cnf# 7. 设置环境变量
[root@bbs mysql-5.7.20 13:39:00]# echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
[root@bbs mysql-5.7.20 13:39:45]# echo 'export PATH' >> /etc/profile
[root@bbs mysql-5.7.20 13:39:45]# source /etc/profile# 8. 初始化数据库
[root@bbs mysql-5.7.20 13:39:46]# cd /usr/local/mysql/
[root@bbs mysql 13:40:32]# bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data# 9. 为 MySQL 配置 systemd 服务
[root@bbs mysql 13:40:35]# cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
[root@bbs mysql 13:41:21]# systemctl daemon-reload
[root@bbs mysql 13:41:37]# systemctl enable mysqld --now
[root@bbs mysql 13:44:03]# ss -anpt | grep 3306
LISTEN  0  80  [::]:3306  [::]:*  users:(("mysqld",pid=33089,fd=21))# 10. 设置 root 密码
[root@bbs mysql 13:47:41]# mysqladmin -u root -p password
Enter password: # Enter
New password: # 123
Confirm new password: # 123[root@bbs mysql 13:48:31]# mysql -uroot -p
Enter password: # 123

1.3 安装 PHP

上传软件包 php-7.1.10.tar.bz2 到虚拟机

# 1. 安装 PHP 环境包
[root@bbs ~ 13:49:48]# yum install -y 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 zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses curl gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel expat-devel xmlrpc-c xmlrpc-c-devel libicu-devel libmcrypt-devel libmemcached-deve# 2. 解压并编译安装软件包
[root@bbs ~ 14:02:34]# tar -xjvf php-7.1.10.tar.bz2
[root@bbs ~ 14:03:08]# cd php-7.1.10/
[root@bbs php-7.1.10 14:03:11]# ./configure \
--prefix=/usr/local/php \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-config-file-path=/etc \
--enable-fpm \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-soap \
--with-libxml-dir \
--with-xmlrpc \
--with-openssl \
--with-mcrypt \
--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-native-ttf \
--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[root@bbs php-7.1.10 14:04:47]# make -j16 && make install# 3. 配置 PHP
[root@bbs php-7.1.10 14:17:22]# cp php.ini-development /usr/local/php/lib/php.ini
[root@bbs php-7.1.10 14:17:26]# vim /usr/local/php/lib/php.ini
date.timezone = Asia/Shanghai # 939 行
mysqli.default_socket = /usr/local/mysql/mysql.sock # 1170 行# 4. 验证安装
[root@bbs php-7.1.10 14:19:19]# /usr/local/php/bin/php -m# 5. 配置 PHP-fpm
[root@bbs php-7.1.10 14:21:19]# cd /usr/local/php/etc/
[root@bbs etc 14:21:26]# cp php-fpm.conf.default php-fpm.conf
[root@bbs etc 14:21:43]# cd /usr/local/php/etc/php-fpm.d/
[root@bbs php-fpm.d 14:21:59]# cp www.conf.default www.conf[root@bbs php-fpm.d 14:21:56]# cd /usr/local/php/etc/
[root@bbs etc 14:22:18]# vim php-fpm.conf
pid = run/php-fpm.pid # 17 行
[root@bbs etc 14:23:03]# /usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
[root@bbs etc 14:23:06]# ss -anpt | grep 9000
LISTEN  0  128  127.0.0.1:9000  *:*  users:(("php-fpm",pid=56554,fd=0),("php-fpm",pid=56553,fd=0),("php-fpm",pid=56552,fd=7))
[root@bbs etc 14:23:21]# ln -s /usr/local/php/bin/* /usr/local/bin/
[root@bbs etc 14:23:44]# ps aux | grep -c "php-fpm"
4# 6. 配置 Nginx 支持 PHP
[root@bbs etc 14:56:30]# vim /usr/local/nginx/conf/nginx.conf
index  index.php index.html index.htm; # 44 行
location ~ \.php$ { # 73 行root           html;fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;include        fastcgi_params;
}[root@bbs etc 14:58:39]# vim /usr/local/nginx/html/index.php
<?php
phpinfo();
?>[root@bbs etc 14:58:50]# systemctl restart nginx# 7. 配置 MySQL 支持 PHP
[root@bbs etc 15:02:46]# mysql -uroot -p
Enter password: # 123
mysql> CREATE DATABASE bbs;
mysql> GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY '123';
mysql> GRANT all ON bbs.* TO 'bbsuser'@'localhost' IDENTIFIED BY '123';
mysql> flush privileges;# 8. 配置数据库连接测试页
[root@bbs etc 15:05:40]# vim /usr/local/nginx/html/index.php
<?php
$link=mysqli_connect('10.1.8.10','bbsuser','123');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
?>
[root@bbs etc 15:06:08]# systemctl restart nginx
[root@bbs etc 15:06:33]# curl localhost/index.php
<h1>Success!!</h1>

2. 安装论坛

将软件包 Discuz_X3.4_SC_UTF8.zip 上传至虚拟机

# 1. 解压软件包
[root@bbs ~ 15:08:38]# unzip Discuz_X3.4_SC_UTF8.zip -d /tmp# 2. 移动网站路径
[root@bbs ~ 15:10:04]# cd /tmp/dir_SC_UTF8/
[root@bbs ~ 15:10:12]# cp -r upload/ /usr/local/nginx/html/bbs/
[root@bbs ~ 15:10:21]# cd /usr/local/nginx/html/bbs/
[root@bbs ~ 15:10:39]# chown -R root:nginx ./config/
[root@bbs ~ 15:10:47]# chown -R root:nginx ./data/
[root@bbs ~ 15:10:58]# chown -R root:nginx ./uc_client/
[root@bbs ~ 15:11:09]# chown -R root:nginx ./uc_server/
[root@bbs ~ 15:11:23]# chmod -R 777 ./config/
[root@bbs ~ 15:11:38]# chmod -R 777 ./data/
[root@bbs ~ 15:11:48]# chmod -R 777 ./uc_client/
[root@bbs ~ 15:11:56]# chmod -R 777 ./uc_server/

完成后,访问 http://IP/bbs/install/index.php 可以看到以下页面

在这里插入图片描述

点击 “我同意” 开始安装

开始安装页面,确认论坛可以获得所有权限,点击 “下一步”

设置运行环境,保持默认配置,点击 “下一步”

安装数据库页面,配置数据库信息和管理员信息,点击 “下一步”

在这里插入图片描述

完成后,点击 “您的论坛已完成安装,点此访问”,即可打开论坛主页

在这里插入图片描述

http://www.dtcms.com/a/582229.html

相关文章:

  • Cordova 开发鸿蒙应用完全指南
  • HarmonyOS开发-系统AI视觉能力-图片识别
  • YAML语言
  • ChatBox AI 中配置阿里云百炼模型实现聊天对话
  • 基于 GitCode 云端环境的 CANN ops-math 算子库深度测评:Ascend NPU 上的数学引擎解析
  • php网站本地搭建做采集网站赚钱
  • 03 Model组件及其使用技巧
  • 指针深入第四弹--sizeof和strlen的对比、数组和指针笔试题解析、指针运算笔试题解析
  • 做刷单的网站网站关键词优化遇到的情况和解决方法
  • 【Java】Java 打印字符数组的正确姿势
  • 做两个阿里网站wordpress教程下载
  • Rust 练习册 :Minesweeper与二维数组处理
  • Flink CDC「Data Pipeline」定义与参数速查
  • 电子烟花:科技点亮夜空的艺术
  • Anatomy-guided Pathology Segmentation
  • 广州建设工程合同备案系统网站做一个网站需要多少费用
  • 内存区域划分——垃圾回收
  • 网站建设可行性分析网站开发需求分析用的图
  • Android 无侵入式数据采集:从手动埋点到字节码插桩的演进之路
  • 一致性哈希和普通哈希有什么区别
  • vue 三种类型的插槽
  • TCP的核心特性精讲(上篇)
  • 河源市企业网站seo价格商城网站策划书
  • Spark-3.5.7文档5 - Spark Streaming 编程指南
  • 北京网站关键词优化推荐徐州列表网
  • Spring 事务管理 Transaction rolled back because it has been marked as rollback-only
  • git不想被添加的文件加入到了列表中如何去掉
  • 网关开发笔记
  • 不备案怎么做淘宝客网站吗网站的视频怎么下载
  • 贵阳市住房和城乡建设部网站北京有几个区几个县