我是靠谱客的博主 贪玩黄豆,这篇文章主要介绍架构篇---2---LAMP架构的部署与安装,现在分享给大家,希望可以做个参考。

LAMP架构的部署与安装

方法一:

使用rpm包安装lamp,并发布discuz论坛。

(1)还原初始快照,桥接网卡,测试ping通外网,关闭防火墙和selinux

systemctl stop firewalld \关闭防火墙

setenforce 0 \暂时关闭selinux(重启后将失效)

(2)使用yum安装httpd mariadb php
yum -y install httpd mariadb-server mariadb php php-mysql
(3)启动httpd、mariadb
systemctl start httpd \启动httpd

systemctl start mariadb \启动mariadb数据库
(4)无密登录mariadb,为提高安全性,设置密码
mysql \无密root登录
mysql_secure_installation \修改root密码
(5)使用新密码登录Mariadb,并为网站创建数据库和管理用户
mysql -uroot -p123.com \登录数据库
create database bbs; \创建bbs数据库
grant all on bbs.* to runbbs@localhost identified by '123.com'; \创建用户密码
exit \退出
(6)创建PHP测试网页,测试php是否安装成功
cd /var/www/html
vim info.php
​ 添加:
<?php ​ phpinfo(); ​ ?>
​ 保存退出
​ 网页测试访问:http://192.168.1.102/info.php (102指本机ip)
(7)复制discuz代码包到/usr/src,解压 (discuz 可在百度中自行下载)
unzip Discuz_X3.3_SC_UTF8.zip
(8)移动解压后的upload到网站根目录下
mv upload/ /var/www/html/bbs
(9)设置bbs目录权限
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平台(分布式)
http: 192.168.1.109
mysql: 192.168.1.111
php: 192.168.1.105
前提:
关闭防火墙和selinux
systemctl stop firewalld \关闭防火墙

systemctl disable firewalld \关闭防火墙自启动
setenforce 0 \关闭selinux
选择一台centos7,安装httpd(参考上篇文章即可)

一、安装mysql(另起一台centos7)

1.mysql数据库
版本:
5.6.36 5.6.38(2017913) 5.6.40
5.7.18 5.7.20(2017913) 5.7.24 5.7.26(2019)
8014 8015 8016**
2.修改主机名
hostname mysql
bash \刷新主机名

vim /etc/hostname ​ 改为: ​ mysql
​ 保存退出
3.编译安装mysql
mkdir -p /server/{soft,scripts} \创建所需文件夹

vim /server/scripts/mysql.sh
添加:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/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

保存退出

保存退出

二、安装php

1.安装前提软件

复制代码
1
2
3
yum -y install epel-release yum -y install gcc gcc-c++ libxml2-devel lzip2-devel libcurl-devel libmcrypt-devel openssl-devel bzip2-devel

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

复制代码
1
2
3
4
5
6
cd /usr/src \进入目录 tar zxf libmcrypt-2.5.7.tar.gz \解压安装包 cd libmcrypt-2.5.7/ \进入安装包内 ./configure --prefix=/usr/local/libmcrypt && make && make install \进行编译安装

3.安装php

复制代码
1
2
3
4
5
cd /usr/src tar zxf php-5.6.27.tar.gz cd 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 配置文件
cp /usr/src/php-5.6.27/php.ini-production /etc/php.ini \复制PHP配置文件

5.为 php-fpm 提供脚本

复制代码
1
2
3
4
5
6
7
8
cd /usr/src/php-5.6.27/ cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm \复制启动脚本 chmod +x /etc/init.d/php-fpm \增加权限 chkconfig --add php-fpm \加入服务 chkconfig php-fpm on \234级别设置为自启动 chkconfig --list php-fpm \ 查看php-fpm服务当前配置

6.提供 php-fpm 配置文件并编辑
cp /usr/local/php5.6/etc/php-fpm.conf.default /usr/local/php5.6/etc/php-fpm.conf \复制php-fpm.conf.default配置文件 并重新命名为php-fpm.conf

复制代码
1
2
3
4
5
6
7
8
9
10
11
vim /usr/local/php5.6/etc/php-fpm.conf 修改内容如下: pid = run/php-fpm.pid #pid进程文件 listen = 192.168.1.105:9000 #监听ip和端口 pm.max_children = 50 #该池同时最多存在50个进程, 三种管理方式都要配置 pm.start_servers = 5 #fpm启动时创建5个子进程,只适用动态dynamic管理方式 pm.min_spare_servers = 5 #服务器闲置时最少保持5个子进程,不够这个数就会创建,只适用动态dynamic管理方式 pm.max_spare_servers = 35 #服务器闲置时最多要有几个,多了会kill,只适用动态dynamic管理方式 保存退出

7.启动php-fpm服务
systemctl start php-fpm

三.测试Apache与php的静/动分离

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

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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 保存退出

systemctl restart httpd \重启httpd

2.配置虚拟主机文件

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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.105:9000/var/www/benet/$1 #<LocationMatch "^(.*.php(/.*)?)$"> #ProxyPass fcgi://192.168.1.105:9000/var/www/benet #</LocationMatch> <Directory "/var/www/benet"> Options FollowSymLinks AllowOverride None Require all granted </Directory> </VirtualHost> 保存退出

3.测试
(1)mysql服务器,创建测试数据库用户
mysql \无密码登录数据库命令 grant all on *.* to testuser@'%' identified by '123456’; \创建用户

(2)在 php 服务器上的/var/www/benet 目录下创建.php 的测试页:

复制代码
1
2
3
4
5
6
7
vim /var/www/benet/index.php 添加: <?php phpinfo(); ?> 保存退出
复制代码
1
2
3
4
5
6
7
8
9
vim /var/www/benet/test1.php 添加: <?php $link=mysql_connect('192.168.1.111','testuser','123456'); if ($link)echo "connection success......"; mysql_close(); ?> 保存退出

(3)在mysql服务器上测试访问Apache,会出现php内容

四.部署Discuz论坛

1)复制Discuz包到apache和php服务器的/var/www/benet目录,解压并重命名赋权(步骤同方法一,一样)
mkdir -p /var/www/benet
unzip Discuz_7.0.0_FULL_SC_UTF8.zip
mv upload/ /var/www/benet/bbs
chmod -R 777 /var/www/benet/bbs

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

复制代码
1
2
3
4
5
6
vim /etc/php.ini 找到下行并改为: short_open_tag = On 保存退出 service php-fpm restart #启动PHP

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

复制代码
1
2
3
4
5
mysql \无密码登录数据库命令 mysql> create database bbsdb; #创建数据库 mysql> grant all on bbsdb.* to runbbs@'%' identified by 'pwd@123'; #创建用户

(4)访问Apache,安装discuz论坛
http://192.168.1.102/bbs

最后

以上就是贪玩黄豆最近收集整理的关于架构篇---2---LAMP架构的部署与安装的全部内容,更多相关架构篇---2---LAMP架构内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(96)

评论列表共有 0 条评论

立即
投稿
返回
顶部