day22-yum部署LAMP
LAMP概述
1、什么是LAMP
其实就是
Linux 操作系统
Apache/Nginx web服务器
Mysql/Mariadb
Perl/Php/Python
LAMP:Linux + Apache + MySQL + PHP LAMP 架构(组合)
LNMP:Linux + Nginx + MySQL + php-fpm LNMP 架构(组合
LAMP具有通用、跨平台、高性能、低价格的优势,因此LAMP无论是性能、质量还是价格都是企业搭建网站的首选平台。
2.linux
linux就是一个操作系统,操作系统主要是提供给程序员API,用于构建和运行应用的一个平台。Linux系统主要是以开发者为中心,
Linux的特点是几乎所有的开发任务相关工具,都有很完善的支持,从底层的编译器,make编译工具,到bash脚本,git代码管理,vim编辑器,依赖管理工具等等都很齐全。
Linux几乎都是现有命令行,再由图形化操作接口,更容易实现自动化。
3.apache
Apache Web Server虽然称之为web服务器,但是不是意味着他是一个物理服务器,它只是电脑软件中的一个软件而已,Web服务器的作用是将HTTP请求从前端转发到后端应用上。
4.Mysql
Mysql是一款数据库管理系统,也就是一个存储数据的工具,用户可以自行对数据库进行增加、删除、修改、查询等操作。
MySQL数据库的大容量、快速响应特点。
MySQL是一款关系型数据库,尤其适合Web应用,特别是电商领域,MySQL遍布各种行业、移动、爱立信、惠普、银行、思科、摩托萝拉、等等。
5.php
PHP是一门服务端脚本编程语言,主要用于web开发,常用PHP脚本嵌入HTML源码中执行。
PHP是全球知名的编程语言之一,程序员可以免费试用,PHP支持多种操作系统,开发效率高,支持多种数据库操作。
6.LAMP图解

2.部署LAMP
1.登录阿里云服务器
购买-登录-查看公网ip-ssh登录
查看服务器信息
umane -a
free -m
修改主机名
hostnamectl set-hostname xx-aliyun
2.关闭内置防火墙
目前只能关闭,等后面学完中才好好设置一下
1)从安全组里关闭
2)cat /etc/selinux/config 查看内置防火墙是否关闭,如果没有关闭就vim 改成disabled
3)查看firewalld的状态 systemctl status firewalld
4)查看防火墙规则 iptables -L
如果没关闭-就清空 然后关闭防火墙-禁止自启动
3.查看是否安装了apache mysql php
rpm -qa httpd
rpm -qa mysql
rpm -qa php
4.LAMP环境之Apache安装
① 使用yum命令安装httpd软件包
apache这个软件,在linux中软件包的名字,是叫做httpd,因此得通过yum安装这个httpd
[root@yuchao-aliyun ~]# yum install httpd -y
② 配置/etc/httpd/conf/httpd.conf文件

启动并查看是否运行
[root@AlienCat ~]# systemctl start httpd
[root@AlienCat ~]# netstat -tnlp|grep httpd
tcp6 0 0 :::443 ::😗 LISTEN 21301/httpd
tcp6 0 0 :::80 ::😗 LISTEN 21301/httpd
[root@AlienCat ~]# curl -I 127.0.0.1:80
最后开启阿里云安全组放行80端口即可
安装mysql
下载mysql仓库的配置文件rpm包
安装这个rpm包,只会生成一些配置文件
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
.安装mysql即可
yum -y install mysql-community-server
启动mysql
systemctl restart mysqld
启动myqsl数据库,需要进行初始化设置,设置密码操作
初始化密码设置
mysql_secure_installation

用新密码登录数据库
mysql -uroot -p
安装 php
[root@yuchao-aliyun local]# yum install php -y
重启httpd服务
apache是需要和php结合起来工作的
[root@yuchao-aliyun local]# systemctl restart httpd
1.在安装php之后,重启httpd
2.php能够自动和apache结合工作了。
测试LAMP
1.进入httpd,apache的网站根目录,也就是这个网页存放的地方。
[root@yuchao-aliyun local]# cd /var/www/html/
[root@yuchao-aliyun html]# vim index.php
[root@yuchao-aliyun html]# pwd
/var/www/html
[root@yuchao-aliyun html]#
[root@AlienCat html]# cat index.php
这里的意思是,我们访问apache,然后看到php脚本,
部署Discuz论坛
下载源码

上传到linux
[root@yuchao-aliyun html]# yum install lrzsz -y
输入rz命令,xshell自动弹出文件接收功能
后面传输大量文件,还是使用FTP工具,一般如XFTP
[root@yuchao-aliyun html]# rz
上传到apache的网页根目录,这个目录下,只要存放了HTML文件,php文件,就能访问到
[root@yuchao-aliyun html]# pwd
/var/www/html
[root@yuchao-aliyun html]# ls
DiscuzX-master.zip index.php
安装unzip
[root@yuchao-aliyun html]# yum install -y unzip
解压缩Discuz代码
[root@yuchao-aliyun html]# unzip DiscuzX-master.zip
这个论坛的源代码,就在这里了。
[root@yuchao-aliyun DiscuzX-master]# pwd
/var/www/html/DiscuzX-master
[root@yuchao-aliyun DiscuzX-master]# ls
LICENSE readme README.md upload utility
最后异步,需要把/var/www/html/DiscuzX-master/upload下代码,全部移动到 /var/www/html 这个位置,且必须在这个位置

登录discuz 网站进行设置
发现报错

1.发现缺少mysql的驱动
安装该驱动即可
yum install php-mysqli -y
[root@yuchao-aliyun html]# yum install php-mysqli -y
2.文件没权限
修改论坛源码文件夹的权限
chmod -R 777 /var/www/html/
告诉apache重启,apache,知道php的功能更新了
systemctl restart httpd
简单总结
简易安装步骤
1.yum安装
yum源没有的就自己下载rpm或者配置自建源
2.按照要求修改配置文件,查看文件权限是否可以使用修改文件权限
3.启动使用
关于linux的软件安装
-
yum是简易版安装,所有的安装目录都是固定的,安装简单、易用,但是缺少定制化,在性能、自动化配置上不够靠谱
- yum自动的安装软件到 /etc /var /usr 等路径,很可能与被人冲突,或者被yum remove卸载
- 当你服务器批量管理的时候,你也无法批量操作,很容易出问题,比如,如下机器要批量安装lamp架构
- 机器A
- 机器B
- 机器C,这台机器已经yum装过了mysql,必然会冲突出错。
- 机器D
-
因此当你选择源码编译安装,通过脚本对服务器批量化操作,如安装到/opt/自定义文件夹下,出错的几率必然很小很小(mkdir /my_software_dir)
- 而且编译可扩展很多功能,都是yum无法比拟的
- 因此掌握编译安装是一个重点
查看公网ip的方式有俩
一、你可以去阿里云控台看
二、技巧如下,由于我们现实在2个公网中的机器,互相访问
[root@AlienCat ~]# curl ifconfig.me
39.105.179.202
软件安装目录

永久关闭selinux
1.关闭selinux,美国的航空安全局,开发的linux内置防火墙
查询selinux状态,基本只有centos8会多些selinux的策略,centos7不用
看到disbaled表示selinux是永久禁止的
[root@AlienCat ~]# getenforce
Disabled
2.修改selinux的配置文件,永久禁止它开机自启
这是selinux配置信息
[root@AlienCat ~]# cat /etc/selinux/config
This file controls the state of SELinux on the system.
SELINUX= can take one of these three values:
enforcing - SELinux security policy is enforced.
permissive - SELinux prints warnings instead of enforcing.
disabled - No SELinux policy is loaded.
SELINUX=disabled
SELINUXTYPE= can take one of three values:
targeted - Targeted processes are protected,
minimum - Modification of targeted policy. Only selected processes are protected.
mls - Multi Level Security protection.
SELINUXTYPE=targeted
运行中
enforcing - SELinux security policy is enforced.
临时关闭中,下次开机还会启动
permissive - SELinux prints warnings instead of enforcing.
永久关闭了
disabled - No SELinux policy is loaded.
修改selinux状态,enforcing > permissive
setenforce 0
想永久关闭,还得修改配置文件,然后reboot
reboot
最后自己练习的搭建截图
