目录
一、理论
1.yum安装与源码安装的区别
二、实验
1.Nginx安装(yum方式)
2.MySQL安装(yum方式)
3.PHP安装(yum方式)
4.Nginx 配置
三、问题
1.客户端 404 报错
四、总结
一、理论
1.yum安装与源码安装的区别
(1)yum安装和源码(tar包)安装方式的不同
① yum安装是将yum源中的rpm包下载到本地,安装这个rpm包。这个rpm包是别人编译安装好的二进制包。这种方式与其说是安装,不如说是更新来的更确切一点。
② 源码安装,下载是源码包,要进行编译和安装,编译过程,可以进行参数设定。
(2)yum安装和源码安装优缺点分析
表1 优缺点分析
安装方式 | yum | 源码(tar包) |
优点 | 安装软件,方便快捷,特别是不用考虑包依赖。 | 编译安装过程,可以设定参数,按照需求,进行安装,并且安装的版本,可以自己选择,灵活性比较大。 |
缺点 | 安装过程,人为无法干预,不能按需,安装。源里面有什么就安装什么,安装的版本也比较低。 | 由于安装包过新或者是其他问题,导致依赖的包没有,或者版本过低。这个时候就要解决包的依赖问题,linux系统中有的包,一个依赖一个,可能装一个小东西,就要解决一堆包的依赖问题,花很多时间解决包的依赖问题。源码安装的多了,不敢升级系统,升级系统,可能会导致以前手动装的东西,不能用。 |
(3)Linux系统常用的安装软件的三种方法
表2 三种方法
安装方法 | 利用yum安装软件 | 利用rpm命令 安装软件 | 利用源码安装软件 |
描述 | rpm 是linux的一种软件包名称,以.rpm结尾,安装的时候语法为:rpm -ivh。 rpm包的安装有个很大的缺点就是文件的关联性太大,有时装一个软件要安装很多其他的软件包。 | 查看是否安装了改软件和版本号:rpm -qa rpm的软件包名 | 下载是源码包,要进行编译和安装。 |
安装软件 | yum -y install 软件 yum并不是一种包,而是安装包的软件。 | 安装: rpm –ivh rpm的软件包名 升级: 执行rpm -Uvh rpm包名 参数: -i 安装软件 | 解压:tar -xzvf 软件.tar.gz 配置环境:/configure 编译:make 安装:make install 卸载:make uninstall |
二、实验
1.Nginx安装(yum方式)
(1)流程
表3 Nginx安装流程
序号 | 操作 | 关键命令 | 文件 |
1 | 搭建nginx相关的yum源 | vim /etc/yum.repos.d/nginx.repo [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1 | 安装所获得的软件包都是来源于httpd源 |
2 | 清理源缓存、重新加载源 | yum clean all && yum makecache | |
3 | 安装nginx服务 | yum -y install nginx | |
4 | 查看nginx版本 | nginx -v | |
5 | 启动nginx服务并设置为开机自启 | systemctl start nginx systemctl enable nginx | |
6 | 监听服务端口 | netstat -antp| grep nginx |
(2)配置nginx在线源
(3)清空缓存并更新
(4)执行yum安装
(5)查看nginx版本
(6)启动服务并设置开机自启
(7)监听nginx服务端口
2.MySQL安装(yum方式)
(1)流程
表4 MySQL安装流程
序号 | 操作 | 关键命令 | 文件 |
1 | 查看有无安装 mariadb | rpm -qa | grep mariadb | |
2 | 卸载一切与mysql有关的包 | yum -y remove mariadb* | 为了新mysql版本的包做环境准备,以免老版本干扰新版本的植入 |
3 | 使用wget下载mysql相关的yum源 并安装 | wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
| wget默认会将下载的安置在当前目录 |
4 | 设为无需密钥验证 | sed -i 's/gpgcheck=1/gpgcheck=0/' mysql-community.repo | |
5 | 安装MySQL服务 | yum -y install mysql-community-server | |
6 | 启动mysql服务并且做一些初步设置 | systemctl start mysqld.service systemctl enable mysqld.service | |
7 | 在日志文件中找出root用户的初始密码 | grep "password" /var/log/mysqld.log grep "password" /var/log/mysqld.log | awk '{print $NF}' | |
8 | 登录 mysql, 输入初始密码 | mysql -uroot -p Enter password: | |
9 | 设置密码 | ALTER USER 'root'@'localhost' IDENTIFIED BY 'Admin@123'; | 密码设置要求有 大小写字母、数字和符号 组合 |
10 | 允许所有通过数据库密码访问的主机 | grant all privileges on *.* to root@"%" identified by "Admin@123" with grant option; | |
11 | 刷新数据库 | flush privileges; | |
12 | 停止版本更新,稳定数据库的运行 | yum -y remove mysql57-community-release-el7-10.noarch | 为了防止每次yum操作都会自动更新,卸载这个软件 |
(2)查看有无安装mariadb
(3)卸载mariadb
(4)使用wget下载mysql相关的yum源并安装
(5)设为无需密钥验证
(6)安装 mysql
(7)完成安装 mysql
(8)启动MySQL服务并设置开机自启
(9)在日志文件中找出root用户的初始密码
(10)登录 mysql输入初始密码,允许所有通过数据库密码访问的主机,并刷新数据库
(11)查看数据库
(12)防止每次yum操作都会自动更新,卸载这个软件
3.PHP安装(yum方式)
(1)流程
表5 PHP安装流程
序号 | 操作 | 关键命令 | 文件 |
1 | 获取php的相关yum源 | rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
| |
2 | 安装相关的依赖拓展模块 | yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-pdo php72w-xml php72w-fpm php72w-mysqlnd php72w-opcache php72w-redis | |
3 | 启动 php-fpm 并设置开机自启 | systemctl start php-fpm systemctl enable php-fpm | |
4 | 查看 php 版本 | php -v |
(1)下载
(2)安装
(3)完成安装
(4)启动php-fpm并设置开机自启
(5)查看php版本
4.Nginx 配置
(1)流程
表4Nginx配置流程
序号 | 操作 | 关键命令 | 文件 |
1 | 备份 | cp /etc/nginx/conf.d/default.conf default.conf.bake | |
2 | 切换到nginx服务配置目录 | cd /etc/nginx/conf.d | |
3 | 配置 nginx 支持 PHP 解析, | vim default.conf ...... location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; include fastcgi_params; } | 将 /scripts 修改为nginx的工作目录 |
4 | 启动Nginx服务 | systemctl restart nginx | |
5 | 监听端口 | netstat -antp | grep nginx | |
6 | 配置 PHP 网页 | cd /usr/share/nginx/html vim index.php | |
7 | 浏览器访问 | http://192.168.204.150/index.php | |
8 | 测试mysql是否能连接成功 | vim /usr/share/nginx/html/index.php <?php $link=mysqli_connect('192.168.204.150','root','Admin@123'); if($link) echo "<h1>Success!!</h1>"; else echo "Fail!!"; ?> | |
9 | 浏览器访问 | http://192.168.204.150/index.php |
(2)备份
(3)配置 nginx 支持 PHP 解析
(4)重启服务
(5)监听端口
(6)配置PHP网页
(7)浏览器访问
(8)测试mysql是否能连接成功
配置PHP网页
(9)浏览器访问
三、问题
1.客户端 404 报错
(1)问题:
LNMP搭建完成,客户端无法打开php页面
(3)原因分析:
hosts 文件配置和防火墙安全机制。
(4)解决方法:
①修改hosts 文件配置
查看配置
清空 hosts 文件的末 2 行。
②关闭防火墙和安全机制
本次实验中测试lnmp连接问题,起初连接失败,将所有的默认配置,以及mysql的相关日志检查了一遍,并没有发现是设置或者主机配置的问题。最后关掉防火墙和selinux,使得LNMP的连接顺利进行。
四、总结
yum安装是将yum源中的rpm包下载到本地并更新这个rpm包,源码安装的下载是源码包并要进行编译和安装;
yum源搭建LNMP时不需要特地的添加系统服务,但是会触及到下载相关yum源 ,需要向外获取资源,所以不能挪动原有yum默认配置,需要添加的直接进行添加;
yum搭建的LNMP占内存约为2-3G,源码编译约占10G的存储空间。