上一次介绍了与项目部署有关的YUM和阿里云服务器的购买配置,这次重点来介绍LAMP项目部署,包括LAMP环境部署和Discuz!论坛部署,最后简单聊聊域名与解析,内容如下。

一、LAMP环境部署

1、回顾LAMP

LAMP = Linux + Apache + MySQL + PHP

Apache:主要用于接收用户的请求,处理业务逻辑,返回结果给客户端(浏览器)

PHP:编程语言的一种,主要应用于Web开发。主要实现注册、登录、加入购物车、下单、支付等功能

MySQL:数据库,删库到跑路,这里的”库”就是指数据库。永久保存数据

2、LAMP部署前期准备

2.1 关闭防火墙

1
2
systemctl stop firewalld
systemctl disable firewalld

2.2 关闭SELinux

SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是Linux历史上最杰出的新安全子系统。

获取SELinux的状态:

1
getenforce

临时关闭SElinux:重启后SELinux还会自动启动

1
setenforce 0

永久关闭SELinux:编辑SELinux的配置文件

1
2
vim /etc/selinux/config
# 打开后设置SELINUX=disabled,按 :wq保存退出


2.3 检查系统中是否已安装Apache

1
2
3
4
rpm -qa |grep httpd
# 若已安装,则先卸载,保证部署前系统的纯净性,等部署时再重新安装。卸载命令如下
rpm -e httpd-2.4.6-90.el7.centos.x86_64
rpm -e httpd-tools-2.4.6-90.el7.centos.x86_64

2.4 检查系统中是否已安装MySQL

1
rpm -qa |grep mysql

2.5 检查系统中是否已安装PHP

1
rpm -qa |grep php

AMP安装指南:在Linux中安装AMP必须先安装Apache,再安装MySQL,最后安装PHP(即按AMP三个字母出现的顺序安装)

3、LAMP环境之Apache安装

Apache:阿帕奇,Apache基金会

httpd软件 => 前身apache,随着时间的推移以及互联网行业的发展,越来越多的软件加入到了Apache的基金会。

第一步:安装httpd软件

1
yum install httpd -y


第二步:配置/etc/httpd/conf/httpd.conf文件

1
2
3
4
5
vim /etc/httpd/conf/httpd.conf
# 注:如下
在命令模式下(默认)输入 /ServerName => 搜索
96行 => 添加 ServerName localhost:80
添加好后,双击esc回到命令模式,输入:wq保存退出即可

localhost : 代表本机,对应的IP地址可以使127.0.0.1或本机的公网IP

第三步:启动httpd服务

1
systemctl start httpd

第四步:把httpd服务添加到开机启动项中

1
systemctl enable httpd

第五步:使用ss或netstat命令查询httpd占用的端口

1
2
3
netstat -tnlp |grep httpd

ss -naltp |grep httpd


第六步:在浏览器中,使用公网IP访问阿里云服务器

4、LAMP环境之MySQL安装

4.1 下载MySQL的官网yum源

由于yum源上默认没有mysql-server。所以必须去官网下载后在安装

1
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

4.2 安装MySQL的官网镜像源

1
rpm -ivh mysql-community-release-el7-5.noarch.rpm

4.3 使用yum安装mysql最新版软件

1
yum install mysql-community-server -y

MySQL软件是一个C/S架构的软件,拥有客户端与服务器端。mysql-server服务器端(内部也包含了客户端),community代表社区版(免费开源)

4.4 启动mysql,查看端口占用情况

1
2
systemctl start mysqld
netstat -tnlp |grep mysqld

4.5 MySQL数据库初始化(重要)

默认情况下,数据库没有密码,也没有任何数据,必须要初始化。步骤如下:

① 初始化数据,设置root密码(MySQL管理员)

1
mysql_secure_installation

扩展:以上说的root和Linux中的root不是同一个用户,这个root代表MySQL数据库的管理员,只不过这个管理员也叫root。

学习环境下,密码越简单越好。生产环境下越复杂越好。


相关说明:

1
2
3
4
是否移除匿名账号,必须移除(基于安全考虑),按Y 
是否禁止root远程登录,根据需求自行设定,一般生产环境下禁止居多
是否移除测试数据库,根据需求自行设定
是否刷新权限,让刚才的更改立即生效,按Y

② 把mysqld服务添加到开机启动项

1
systemctl enable mysqld

默认已经开机启动,这里可以跳过

③ 连接MySQL数据库,测试

1
2
3
4
mysql -u root -p 回车
Enter password:输入刚才设置的密码,然后回车
mysql> show databases; => 代表显示所有数据库
mysql> exit; => 退出(注:命令结尾要有;)

5、LAMP环境之PHP安装

5.1 使用yum命令安装php软件

1
yum install php -y

5.2 使用systemctl启动php软件(重启Apache)

1
systemctl restart httpd

为什么启动php就是重启Apache呢?答:因为LAMP架构中,PHP是以模块的形式追加到Apache的内核中,所以启动php就相当于重置Apache软件

5.3 测试LAMP环境是否可以使用

第一步:使用cd命令进入/var/www/html目录

1
2
3
cd /var/www/html
# 说明
Apache的项目目录 => /var/www/html,以后程序员开发的代码都是放置于此目录

第二步:使用vim命令创建demo.php文件

1
vim demo.php

第三步:编写php代码

1
2
3
<?php
echo 'hello world';
?>



按i进入插入模式编写,编写完成后按两次esc回到命令模式,最后按:wq保存退出,然后在浏览器中使用http://公网IP/demo.php访问。显示如下代表访问成功,即LAMP环境可以使用。

二、部署Discuz!论坛

1、Discuz!论坛概述

Discuz!论坛是基于PHP + MySQL进行开发的一套开源的论坛系统。

2、下载源代码

下载地址:https://gitee.com/Discuz/DiscuzX (码云)

3、使用MX软件把Discuz源代码上传

阿里云:点击左侧边栏Sftp,按如下图示上传。

本地Linux类似

4、安装unzip解压缩软件

1
yum install unzip -y

5、使用unzip对discuz.zip压缩包进行解压

1
unzip discuz.zip

6、复制discuz中的文件到/var/www/html目录

1
2
3
4
# 把discuz目录下的所有文件都移动到/var/www/html/路径下。
mv discuz/* /var/www/html/

cp -vRp disczu/* /var/www/html/

7、打开浏览器,输入公网IP地址

出现如下图则说明前面的步骤操作成功。

8、单击同意许可,继续安装

9、给/var/www/html目录设置可写权限

1
chmod -R a+w /var/www/html

注意:以上操作是给所有文件添加一个w权限,但是生产环境尽量针对指定文件添加权限。

10、解决PHP扩展问题

出现以上问题是因为安装PHP时没有按照php-mysqli扩展,解决如下。

1
2
yum install php-mysqli -y
systemctl restart httpd

运行后刷新即可。

11、设置运行环境

12、设置MySQL数据库的相关信息

13、设置管理员账号和密码

14、安装完成后,访问论坛首页

部署后,访问论坛首页,如下图所示:


去登录

登录成功后如下图

三、域名与解析

1、为什么需要域名

我们现在访问论坛是通过IP地址实现的,但是IP地址比较复杂,更重要的是不方便用户记忆。

域名 => 代替公网IP地址

2、购买域名

登录控制台,然后选择域名菜单:

找到注册域名菜单:


找到想要注册的域名,然后加入清单,然后进行立即结算:

购买完成后,进入域名控制台即可查看。

3、把域名解析到公网IP

进入解析菜单,然后添加记录:

① 把www.zhengyquan.com解析到公网IP

② 把zhengyquan.com解析到公网IP

以上记录添加完成后,等待10分钟左右,即可使用域名访问论坛项目了!

4、域名备案

如果在国内运行项目,我们使用的域名必须要进行备案操作。

备案就是向工信部提交网站运行的相关资料,比如域名的证书、持有者的身份证号码,以及真人手持身份证照片(背景图)。由于现在监管比较严格,提交资料后,大概5-7个工作日进行审核,完全备案完成大概2周左右。

阿里云备案网址:https://beian.aliyun.com/

如果不想进行域名备案,可以购买中国香港、中国台湾以及国外的服务器,可以免备案。但是其运行速度略慢一些。