内容预知
1. nginx 的yum安装
1.1 搭建nginx相关的yum源
1.2 刷新yum仓库,安装启动nginx服务
2. mysql的yum 安装
2.1 卸载一切与mysql有关的包
2.2 wget mysql相关的yum源
2.3 启动mysql服务并且做一些初步设置
2.4 停止版本更新,稳定数据库的运行
3. php的yum安装
3.1 获取php的相关yum源
3.2 安装相关的依赖拓展模块
3.3 nginx支持php的解析
4. lnmp的连接测试
4.1 nginx和php的连接测试
4.2 lnmp的连接测试
总结
1. nginx 的yum安装
注意:本次安装所获得的软件包都是来源于httpd源(都是由该软件包厂商提供)。所以切记不能像往常一样直接使用本地源去安装一切包
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
yum clean all && yum makecache
yum install nginx -y
nginx -v
systemctl start nginx
systemctl enable nginx
2. mysql的yum 安装
——为了新mysql版本的包做环境准备,以免老版本干扰新版本的植入
yum remove mariadb* -y
注意 : wget默认会将下载的安置在当前目录
cd /opt
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
(注意:当这一步执行完成以后,会在/etc/yum.repos.d中
生成mysql-community.repo 和mysql-community-source.repo )
yum -y install mysql-community-server
cd /etc/yum.repos.d
sed -i 's/gpgcheck=1/gpgcheck=0/' mysql-community.repo
yum -y install mysql-community-server
附加:第二种方式(与上面可以二选一使用)
wget https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
cd /etc/yum.repos.d
sed -i 's/gpgcheck=1/gpgcheck=0/' mysql-community.repo
yum -y install mysql-server
systemctl start mysqld.service
systemctl enable mysqld.service
systemctl status mysqld.service
yum安装的数据库初始密码的查看:
grep "password" /var/log/mysqld.log #在日志文件中找出root用户的初始密码
grep "password" /var/log/mysqld.log | awk '{print $NF}'
数据库密码修改
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Admin@123'; #密码设置要求有 大小写字母、数字和符号 组合
grant all privileges on *.* to root@"%" identified by "Admin@123" with grant option; #允许所有通过数据库密码访问的主机
flush privileges; #刷新数据库
yum -y remove mysql57-community-release-el7-10.noarch #为了防止每次yum操作都会自动更新,卸载这个软件
3. php的yum安装
注意:下载保持好网络的畅通性。
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
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
systemctl start php-fpm
systemctl enable php-fpm
php -v
cd /etc/nginx/conf.d
//给default.conf 做一个备份,防止配置修改错误,无法还原
cp default.conf default.conf.bak
修改php的默认配置:
vim /etc/nginx/conf.d/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; #将 /scripts 修改为nginx的工作目录
include fastcgi_params;
}
保存配置后并重启服务:
systemctl restart nginx
4. lnmp的连接测试
创建php页面测试,进行访问测试
cd /usr/share/nginx/html
vim index.php
测试结果:
vim /usr/share/nginx/html/index.php
Success!!";
else echo "Fail!!";
?>
测试结果:
注意测试mysql的连接前一定要关闭firewalld和selinux(这俩是测试的万恶之源)
总结
1. yum搭建lnmp时,不需要特地的添加系统服务,但是会触及到下载相关yum源
2. yum搭建的lnmp占内存会更小一些。粗略计算过,源码编译搭建lnmp时消耗了10G的存储空间,yum大概在2-3G。
3.yum源搭建lnmp时,与本地源不同。需要向外获取资源,所以不能挪动原有yum默认配置,需要添加的直接进行添加即可。
4.防火墙。本次实验中测试lnmp连接问题,起初连接失败,我将所有的默认配置,以及mysql的相关日志检查了一遍,并没有发现是设置或者主机配置的问题。最后关掉防火墙和selinux才,使得lnmp的连接顺利进行。(实验前关闭防火墙和selinux是不容忽略的因素)