LAMP概述
什么是LAMP
LAMP:Linux + Apache + MySQL + PHP LAMP 架构(组合)
LNMP:Linux + Nginx + MySQL + php-fpm LNMP 架构(组合)
LNMPA:Linux + Nginx(80) + MySQL + PHP + Apache Nginx 代理方式
Apache:Apache是世界使用排名第一的Web服务器软件。
PHP:一种专门用于Web开发的编程语言。
MySQL:MySQL是一个关系型数据库管理系统,主要用于永久存储项目数据。
AMP三者之间的关系
Apache:用于接收用户的请求(输入网址,返回网页=>结果)
PHP:注册、登录、加入购物车、下单、支付等动态功能(有编程语言的支持)
MySQL:永久保存数据,比如你在网站上注册的用户和密码、你加入购物车的产品、你的产品订单
LAMP = Linux + APache + PHP + MySQL
阿里云详解
要想部署一个互联网上可以访问到的环境,必须先具备以下内容 : 服务器(IP、帐号密码、终端)、相应的软件、域名(备案、解析)、代码等。
注册阿里云账号
阿里云官网:阿里云-计算,为了无法计算的价值
扫码注册,建议使用支付宝
手机扫码后,手机端授权
特别说明:云服务器的厂商特别多,你可以进行任意选择 => 阿里云、百度云、腾讯云、华为云...
实名认证(上传身份证照片)
第一步:单击账号下方的实名认证(选择个人认证)
购买阿里云的ECS云服务器
第一步:回到阿里云首页,找到搜索框,输入 ECS,回车
第二步:单击立即购买,购买ECS服务器(选区域、选配置)
第三步:自定义购买,选择付费类型、选择区域、CPU与内存的配置
第四步:选择镜像(CentOS7.6)与云盘(硬盘)
第五步:设置网络、公网IP以及安全组(重要)
第六步:设置root账号密码(一定要选择自定义密码)
8 - 30 个字符,必须同时包含三项(大写字母、小写字母、数字、 ()`~!@#$%^&*_-+=|{} []:;'<>,.?/ 中的特殊符号),其中 Windows 实例不能以斜线号(/)为首字符
第七步:设置释放时间 => 什么时候删除这台服务器(不收钱)
第八步:进入管理控制台,找到我们刚才购买的ECS服务器,如下图所示:
测试云服务
# yum install sl -y
LAMP项目部署实战
LAMP环境部署
回顾LAMP
LAMP = Linux + Apache + MySQL + PHP
Apache:主要用于接收用户的请求,处理业务逻辑,返回结果给客户端(浏览器)
PHP:编程语言的一种,主要应用于Web开发。主要实现注册、登录、加入购物车、下单、支付等功能
MySQL:数据库,删库到跑路,这里的"库"就是指数据库。永久保存数据
LAMP部署前期准备
关闭防火墙
# systemctl stop firewalld
# systemctl disable firewall
关闭SELinux
获取SELinux的状态:
# getenforce
临时关闭SElinux:重启后SELinux还会自动启动
# setenforce 0
永久关闭SELinux:编辑SELinux的配置文件
# vim /etc/selinux/config
SELINUX=disabled
检查系统中是否已安装Apache
# rpm -qa |grep httpd
此命令为卸载已经安装的httpd
# rpm -e httpd-2.4.6-90.el7.centos.x86_64
# rpm -e httpd-tools-2.4.6-90.el7.centos.x86_64
检查系统中是否已安装MySQL
# rpm -qa |grep mysql
检查系统中是否已安装PHP
# rpm -qa |grep php
AMP安装指南:在Linux中安装AMP必须先安装Apache,在安装MySQL,最后安装PHP
LAMP环境之Apache安装
Apache:阿帕奇,Apache基金会
httpd软件 => 前身apache,随着时间的推移以及互联网行业的发展,越来越多的软件加入到了Apache 的基金会。
第一步:安装httpd软件
# yum install httpd -y
第二步:配置/etc/httpd/conf/httpd.conf文件
# vim /etc/httpd/conf/httpd.conf
/ServerName => 搜索
ServerName localhost:80
localhost : 代表本机,对应的IP地址可以使127.0.0.1或本机的公网IP
第三步:启动httpd服务
# systemctl start httpd
第四步:把httpd服务添加到开机启动项中
# systemctl enable httpd
第五步:使用ss或netstat命令查询httpd占用的端口
# netstat -tnlp |grep httpd
或
# ss -naltp |grep httpd
第六步:在浏览器中,使用公网IP访问阿里云服务器
LAMP环境之MySQL安装
下载MySQL的官网yum源
# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
安装MySQL的官网镜像源
# rpm -ivh mysql-community-release-el7-5.noarch.rpm
使用yum安装mysql最新版软件
# yum install mysql-community-server -y
启动mysql,查看端口占用情况
# systemctl start mysqld
# netstat -tnlp |grep mysqld
MySQL数据库初始化(重要)
默认情况下,数据库没有密码,也没有任何数据,必须要初始化
初始化数据,设置root密码(MySQL管理员)
# mysql_secure_installation
注意:以上说的root和Linux中的root不是同一个用户,这个root代表MySQL数据库的管理员,只
不过这个管理员也叫root。
把mysqld服务添加到开机启动项
# systemctl enable mysqld
连接MySQL数据库,测试
# mysql -u root -p 回车
Enter password:输入刚才设置的密码,如root,回车
mysql> show databases; => 代表显示所有数据库
mysql> exit
LAMP环境之PHP安装
使用yum命令安装php软件
# yum install php -y
使用systemctl启动php软件(重启Apache)
# systemctl restart httpd
LAMP架构中,PHP是以模块的形式追加到Apache 的内核中,所以启动php就相当于重置Apache软件
测试LAMP环境是否可以使用
第一步:使用cd命令进入/var/www/html目录
# cd /var/www/html
Apache的项目目录 => /var/www/html,以后程序员开发的代码都是放置于此目录
第二步:使用vim命令创建demo.php文件
# vim demo.php
第三步:编写php测试代码
<?php
echo 'hello word';
?>
编写完成后,保存退出,然后在浏览器中使用http://公网IP/demo.php
部署Discuz!论坛
Discuz!论坛概述
Discuz!论坛是基于PHP + MySQL进行开发的一套开源的论坛系统。
下载源代码
下载地址:Discuz!/DiscuzX (码云)
安装unzip解压缩软件
# yum install unzip -y
使用unzip对discuz.zip压缩包进行解压
# unzip DiscuzX-v3.5.zip
复制discuz中的文件到/var/www/html目录
# mv DiscuzX-v3.5/* /var/www/html/
或
# cp -vRp DiscuzX-v3.5/* /var/www/html/
打开浏览器,输入公网IP地址
单击同意许可,继续安装
解决PHP扩展问题
表示当前的php版本太低,需要升级php
添加 EPEL and REMI 仓库
# yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
二选一
# yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm ☆
安装PHP 7.4
启用PHP 7.4 Remi 仓库
☆# yum -y install yum-utils
☆# yum-config-manager --enable remi-php74 将PHP设置成7.4版本
可选
# yum update
# yum install php php-cli
安装扩展
# yum install php php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json
配置
查看版本
php -v
重启httpd
systemctl restart httpd
设置开机启动
systemctl enable php-fpm.service
systemctl start php-fpm.service
刷新页面 环境问题解决
上图显示 部分目录不可写,不存在,红色×号需解决
#chmod -R a+w /var/www/html
再次刷新,全部搞定
安装完成后,点击直接访问站点,访问论坛首页
域名与解析
我们现在访问论坛是通过IP地址实现的,但是IP地址比较复杂,更重要的是不方便用户记忆。 域名 => 代替公网IP地址
购买域名
找到想要注册的域名,然后加入清单,然后进行立即结算:
把域名解析到公网IP
以上记录添加完成后,等待10分钟左右,即可使用域名访问论坛项目了!
域名备案
如果在国内运行项目,我们使用的域名必须要进行备案操作。
备案就是向工信部提交网站运行的相关资料,比如域名的证书、持有者的身份证号码,以及真人手持身 份证照片(背景图)
由于现在监管比较严格,提交资料后,大概5-7个工作日进行审核,完全备案完成大概2周左右。