架构——3——LAMP(单台/分布式)

单台服务器使用 rpm 包安装 lamp,并发布 Discuz 论坛

1、桥接网卡,测试ping通外网,关闭防火墙和selinux

[root@localhost ~]# hostnamectl set-hostname lamp
[root@localhost ~]# bash
[root@lamp ~]# 

2、使用yum安装httpd mariadb php

[root@lamp ~]# yum -y install httpd mariadb-server mariadb php php-mysql

3、启动httpd、mariadb

[root@lamp ~]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@lamp ~]# systemctl start httpd

[root@lamp ~]# systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[root@lamp ~]# systemctl start mariadb

4、无密登录mariadb,为提高安全性,设置密码

[root@lamp ~]# mysql     \\无密root登录
[root@lamp ~]# mysql_secure_installation			#修改root密码

5、使用新密码登录Mariadb,并为网站创建数据库和管理用户

[root@lamp ~]# mysql -uroot -p123
MariaDB [(none)]> create database bbs;
MariaDB [(none)]> grant all on bbs.* to runbbs@localhost identified by '123';
MariaDB [(none)]> Bye

6、测试php是否安装成功

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

测试访问:http://192.168.1.128/info.php
在这里插入图片描述

7、复制discuz代码包到/usr/src,解压

[root@lamp html]# cd /usr/src/
[root@lamp src]# rz Discuz_X3.3_SC_UTF8.zip
[root@lamp src]# unzip Discuz_X3.3_SC_UTF8.zip

8、移动解压后的upload到网站根目录下

[root@lamp src]# mv upload/  /var/www/html/bbs

9、设置bbs目录权限

[root@lamp src]# chmod -R 777 /var/www/html/bbs

10、安装discuz论坛

http://192.168.1.102/bbs
注意:安装过程,除了数据库的名和用户名、密码,其他一概下一步
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

11、访问论坛后台

http://192.168.1.102/bbs/admin.php
在这里插入图片描述
在这里插入图片描述

LAMP平台(分布式)

http192.168.1.128
mysql192.168.1.129
php192.168.1.130

前提:关闭防火墙和selinux

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

一、安装httpd

1、把所需软件复制到 /usr/src 目录下或直接下载

[root@http src]# rz
[root@http src]# ls
apr-1.5.2.tar.gz  
apr-util-1.5.4.tar.gz  
httpd-2.4.25.tar.gz  
openssl-1.0.1u.tar.gz  
pcre-8.39.tar.gz  
zlib-1.2.8.tar.gz

2、安装前提软件/Apache主程序

[root@http ~]# mkdir /sh
[root@http ~]# vim /sh/httpd.sh
#!/bin/bash
rpm -q httpd			#查看是否安装
rpm -e httpd --nodeps			#卸载已安装的程序

#安装前提软件
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel			#如果编译安装无法执行,可能是开发软件工具没有安装,需要先安装开发软件

#脚本安装前提软件
cd /usr/src
tar zxf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure --prefix=/usr/local/apr && make && make install

cd ..
tar zxf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make && make install

cd ..
yum -y install zlib-*

tar zxf pcre-8.39.tar.gz
cd pcre-8.39
./configure --prefix=/usr/local/pcre && make && make install

cd ..
tar zxf openssl-1.0.1u.tar.gz
cd openssl-1.0.1u
./config -fPIC --prefix=/usr/local/openssl enable-shared && make && make install

#安装Apache主程序
cd /usr/src
tar zxf httpd-2.4.25.tar.gz
cd httpd-2.4.25
./configure --prefix=/usr/local/httpd --enable-so --enable-cgi --enable-cgid --enable-ssl --with-ssl=/usr/local/openssl --enable-rewrite --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mods-shared=most --enable-mpms-shared=all --with-mpm=event --enable-proxy --enable-proxy-fcgi --enable-expires --enable-deflate && make && make install


[root@http ~]# chmod +x /sh/httpd.sh
[root@http ~]# sh /sh/httpd.sh

3、优化链接

[root@http ~]# ln -s /usr/local/httpd/bin/* /usr/local/bin

4、添加系统服务

[root@http ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@http ~]# vim /etc/init.d/httpd
定位到第二行:修改为
# chkconfig: 35 85 15			#声明服务启动级别,开机启动顺序,关机关闭顺序
# description: apache 2.4.25			#服务声明,简要信息

[root@http ~]# chkconfig --add httpd			#添加httpd到系统服务
[root@http ~]# chkconfig httpd on			#设置服务开机自启(等同于:systemctl enable httpd)
[root@http ~]# systemctl start httpd			#开启服务(等同于:service httpd start)

二、安装mysql(编译安装mysql or rpm安装mysql 任选其一)

mysql数据库版本:

5.6.36 		5.6.38(20170913)   5.6.40
5.7.18  	5.7.20(20170913)   5.7.24	5.7.26(2019)
8014		8015			8016

1、编译安装mysql

[root@mysql ~]# mkdir -p /server/{soft,scripts}
[root@mysql ~]# cd /server/soft/
[root@mysql soft]# rz mysql-5.6.36.tar.gz			#由于没有下载mysql源码包,所以提前准备好
[root@mysql ~]# vim /server/scripts/mysql.sh			#编写mysql安装脚本
#!/bin/bash
#由于没有下载mysql源码包,所以提前准备好
echo '正在下载资源包...'
yum -y install ncurses-devel gcc gcc-c++ 

read -p '你想要的Cmake版本:' VER
wget https://github.com/Kitware/CMake/releases/download/v$VER/cmake-$VER.tar.gz
tar zxf cmake-$VER.tar.gz -C /usr/src
cd /usr/src/cmake-$VER
echo '正在编译安装...'
./configure &> /dev/null
gmake && gmake install &> /dev/null

groupadd mysql
useradd -M -s /sbin/nologin mysql -g mysql

tar zxf /server/soft/mysql-5.6.36.tar.gz -C /usr/src
cd /usr/src/mysql-5.6.36
echo '预编译中...'
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all &> /dev/null
echo  '正在编译安装...'
make -j8 && make install -j8 &> /dev/null

echo  '对数据库目录进行授权:'
chown -R mysql:mysql /usr/local/mysql
echo  '建立配置文件:'
rm -rf /etc/my.cnf
cp support-files/my-default.cnf /etc/my.cnf
echo '安装Perl模块...'
yum -y install perl-Data-Dumper &> /dev/null
echo '初始化数据库...'
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
echo '设置环境变量:'
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
. /etc/profile
#mysql 的启动和关闭:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
/etc/init.d/mysqld start

echo  '创建软连接,优化路径:'
ln -s /usr/local/mysql/bin/mysql /usr/local/bin
ln -s /usr/local/mysql/bin/mysqladmin /usr/local/bin
#/etc/init.d/mysqld是一个shell脚本,在启动过程中会调用mysqld_safe脚本,最后调用mysqld服务启动mysql,如下所示.
#$bindir/mysql_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 
netstat -anpt | grep 3306
cat << EOF
****************************************
* Mysql  has been installed successfully. *
****************************************
EOF


[root@mysql ~]# chmod +x /server/scripts/mysql.sh 
[root@mysql ~]# sh /server/scripts/mysql.sh

互动窗口“你想要的Cmake版本:”输入:3.15.6

2、rpm安装mysql

[root@mysql ~]# rpm -ivh http://repo.mysql.com/yum/mysql-5.6-community/el/7/x86_64/mysql-community-release-el7-5.noarch.rpm
[root@mysql ~]# yum install mysql-community-server -y
											#本地安装可切换到对应文件夹使用命令:yum -y localinstall *
[root@mysql ~]# systemctl start mysqld
[root@mysql ~]# systemctl enable mysqld
[root@mysql ~]# mysql_secure_installation 		#修改mysql密码

三、安装php

1、安装前提软件

[root@php ~]# yum -y install epel-release
[root@php ~]# yum -y install gcc gcc-c++ libxml2-devel lzip2-devel libcurl-devel libmcrypt-devel openssl-devel bzip2-devel

2、复制libmcrpt和php包到/usr/src,安装libmcrypt加密工具

[root@php ~]# cd /usr/src
[root@php src]# rz libmcrypt-2.5.7.tar.gz  php-5.6.27.tar.gz
[root@php src]# tar zxf libmcrypt-2.5.7.tar.gz
[root@php src]# cd libmcrypt-2.5.7/
[root@php libmcrypt-2.5.7]# ./configure --prefix=/usr/local/libmcrypt && make && make install

3、安装php

[root@php libmcrypt-2.5.7]# cd /usr/src
[root@php src]# tar zxf php-5.6.27.tar.gz 
[root@php src]# cd php-5.6.27/
[root@php php-5.6.27]# ./configure --prefix=/usr/local/php5.6 --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-fpm --enable-sockets --enable-sysvshm --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --with-mhash --with-mcrypt=/usr/local/libmcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts && make && make install

4、提供 php 配置文件

[root@php php-5.6.27]# cp /usr/src/php-5.6.27/php.ini-production /etc/php.ini

5、为 php-fpm 提供脚本

[root@php php-5.6.27]# cd /usr/src/php-5.6.27/
[root@php php-5.6.27]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@php php-5.6.27]# chmod +x /etc/init.d/php-fpm 
[root@php php-5.6.27]# chkconfig --add php-fpm
[root@php php-5.6.27]# chkconfig php-fpm on

6、提供 php-fpm 配置文件并编辑

[root@php php-5.6.27]# cp /usr/local/php5.6/etc/php-fpm.conf.default /usr/local/php5.6/etc/php-fpm.conf
[root@php php-5.6.27]# vim /usr/local/php5.6/etc/php-fpm.conf			#修改内容
pid = run/php-fpm.pid
listen = 192.168.1.130:9000
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35

7、启动php-fpm服务

[root@php php-5.6.27]# systemctl start php-fpm

四、测试Apache与php的静/动分离

1、启用Apache服务的代理转发

[root@http ~]# vim /usr/local/httpd/conf/httpd.conf
找到下面三行,去除#号:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
Include conf/extra/httpd-vhosts.conf

找到AddType所在行,添加:
AddType application/x-httpd-php  .php
AddType application/x-httpd-php-source  .phps

定位至 DirectoryIndex,改为:
DirectoryIndex index.php index.html 


[root@http ~]# systemctl restart httpd

2、配置虚拟主机文件

[root@http ~]#  vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
改为:
<VirtualHost *:80>
 ServerAdmin webmaster@benet.com
 DocumentRoot "/var/www/benet"
 ServerName www.benet.com
 ServerAlias benet.com
 ErrorLog "logs/benet.com-error_log"
 CustomLog "logs/benet.com-access_log" common
 ProxyRequests Off
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://192.168.1.130:9000/var/www/benet/$1
 #<LocationMatch "^(.*\.php(/.*)?)$">
 # ProxyPass fcgi://192.168.1.130:9000/var/www/benet
 #</LocationMatch>
<Directory "/var/www/benet">
 Options FollowSymLinks
 AllowOverride None
 Require all granted
</Directory>
</VirtualHost>

[root@http ~]# systemctl restart httpd

3、测试

1)mysql服务器,创建测试数据库用户
mysql			#登录数据库命令
mysql> grant all on *.* to testuser@'%' identified by '123';
2)在 php 服务器上的/var/www/benet 目录下创建.php 的测试页:
[root@php ~]# mkdir -p /var/www/benet/
[root@php ~]# vim /var/www/benet/index.php
添加:
<?php
phpinfo();
?>

[root@php ~]# vim /var/www/benet/test1.php 
添加:
<?php
$link=mysql_connect('192.168.1.129','testuser','123');
if ($link)echo "connection success......";
mysql_close();
?>
3)在mysql服务器上测试访问Apache,会出现php内容

五、部署Discuz论坛

1、复制Discuz包到apache和php服务器的/var/www/benet目录,解压并重命名赋权(步骤一样)

http

[root@http ~]# mkdir -p /var/www/benet
[root@http ~]# rz Discuz_X3.3_SC_UTF8.zip
[root@http ~]# unzip Discuz_X3.3_SC_UTF8.zip
[root@http ~]# mv upload/ /var/www/benet/bbs
[root@http ~]# chmod -R 777 /var/www/benet/bbs

php

[root@php ~]# mkdir -p /var/www/benet/


[root@http ~]# scp -r /var/www/benet/bbs/ root@192.168.1.130:/var/www/benet/


[root@php ~]# chmod -R 777 /var/www/benet/bbs/

2、在php服务器修改配置文件,重启服务

[root@php ~]# vim /etc/php.ini
找到下行并改为:
short_open_tag = On

[root@php ~]# service php-fpm restart

3、在mysql服务器上创建bbs数据库及用户

[root@mysql ~]# mysql_secure_installation
mysql> create database bbsdb;
mysql> grant all on bbsdb.* to runbbs@'%' identified by '123';

4、访问Apache,安装discuz论坛

http://192.168.1.128/bbs
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、访问论坛后台

http://192.168.1.128/bbs/admin.php
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值