服务器搭建(CenOS 7 Apache + PHP _Mysql环境(LAMP))
服务器搭建(CenOS 7 Apache + PHP _Mysql环境(LAMP))
第一步、更换阿里云 yum源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum update
(查找文件的命令 find / -name "www")
第二步、Apache部分
安装Apache:yum -y install httpd
启动Apache服务:systemctl start httpd
检查Apache服务状态是否running:systemctl status httpd
设置Apache服务自启动守卫:systemctl enable httpd
此时,访问服务器的80端口,应可以看到Apache的默认页。如果不能访问,请检查防火墙设置。Apache的默认网页资源目录是/var/www/html,默认配置文件位置是/etc/httpd/conf/httpd.conf。
Firewalld常用命令:
systemctl start firewalld.service #启动防火墙
systemctl stop firewalld.service #停止防火墙
firewall-cmd --state #查看防火墙状态
firewall-cmd --list-ports #查看所有打开的端口
firewall-cmd --add-port=80/tcp --permanent #永久添加80端口例外(全局)
firewall-cmd --remove-port=80/tcp --permanent #永久删除80端口例外(全局)
Firewall配置步骤
输入setenforce 0临时关闭SELINUX 关闭防火墙 systemctl stop firewalld 关闭firewall之后,此时便可以通过浏览器成功访问apache页面了。并且在/var/www/html目录中的所有.html网页都可以通过浏览器访问了。
第三步、MySQL 5.7 部分
安装MySQL及服务器:由于需要下载文件,请在合适的目录下执行下列操作。若系统没有wget,请先yum install wget安装之。
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 yum -y install mysql-community-server
启动MySQL服务:systemctl start mysqld.service
检查MySQL服务是否running:systemctl status mysqld.service
设置MySQL服务自启动守卫:systemctl enable mysqld.service
获取MySQL初始随机密码: grep "password" /var/log/mysqld.log
使用该密码进入数据库:mysql -uroot -p,输入密码进入
执行查询,修改默认密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '[NEWPASSWORD]';
注意,依据安全性政策,过于简单的密码无法通过要求。
可以更改安全性政策,如下:
select 'host' from user where user='root';
此时可能会出现“You must reset your password using ALTER USER statement before executing this statement.”
【解决办法】
MySQL版本5.7.6版本以前用户可以使用如下命令:
mysql> SET PASSWORD = PASSWORD('你的密码'); MySQL版本5.7.6版本开始的用户可以使用如下命令:
mysql> ALTER USER USER() IDENTIFIED BY '你的密码';
括号里面的你的密码也就是刚才Mysql的初始随机密码
之后:查看 mysql 初始的密码策略
SHOW VARIABLES LIKE 'validate_password%';
set global validate_password_policy=LOW;
这样policy就成了LOW就可以执行修改密码了;
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
但是你用SQLmyog等远程连接数据库可能失败,显示 1130,ERROR 1130: Host http://xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server
在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'即可
mysql -u root -p
mysql;use mysql;
mysql;select 'host' from user where user='root';
mysql;update user set host = '%' where user ='root';
mysql;flush privileges;
mysql;select 'host' from user where user='root';
就可以了;
如果出现access denied的原因有如下可能:
1)mysql的服务器停止: 若MySQL已经没有启动,重启MySQL服务器:systemctl restart mysqld 2)用户的端口号或者IP导致: 若用户的端口号与IP(3306/3307)不一致,打开my.ini文件进行编辑。全部编辑替换为: port=X 3)mysql的配置文件错误----my.ini等文件: my.ini文件误输入无效内容,不知道到何处。复制替换该文件;有人已经对my.ini文件进行解释以及注释:https://blog.csdn.net/lienfeng6/article/details/78140404 4)root用户的密码错误(后面解决)
第四步、PHP部分
1,安装之前先卸载虚拟机上其他版本的PHP
yum -y remove php* 2,由于linux的yum源不存在PHP7.x,所有我们要改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 3,安装PHP及其扩展,比如安装php7.2 yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml
4,安装成功之后,开启PHP服务:
systemctl enable php-fpm.service
systemctl start php-fpm.service
5,开启服务后,试着运行一下PHP代码,输出一行当前时间戳:
php -r "echo time();"
6,运行php -m看当前PHP安装的扩展有哪些,如果有需要的扩展没安装,比如要安装redis扩展,可以先用search命令查看此版本的PHP所有扩展服务名:
yum search all php72w

上图红框内是redis扩展的名称,接下来使用yum安装:yum install后面加上扩展名称。
yum install php72w-pecl-redis.x86_64
安装完毕后,再php -m查看当前已安装的扩展:

redis扩展已经安装成功,其他的扩展都是这样;相比较编译安装这种安装方式简直太舒服。
防火墙和端口设置
对于服务器操作系统来说,对外暴露一些不必要的端口都是非常危险的。因此,在管理服务器的时候,知道开放了哪些服务器端口对于运维人员来说算是一项基本技能。下面我们来看看,怎么知道服务器开放了哪些端口。
工具/原料
CentOS7
一、在本机上查看
在CentOS主机上查看当前主机在监听哪些端口的命令是netstat,常用的命令是:
netstat -tlunp
这个命令会显示出当前主机打开的所有端口,显示结果如下所示,从图中可以看到目前主机上开放的端口tcp端口的22和25,upd的68号端口

而端口名称后面关联了对应的进程名称,如下面图中所示。这里需要注意的是,如果你的服务器是公网服务器,你在公网上开放了22号端口,那么你的主机就会被公网上很多扫描器扫描,然后尝试爆破你的账号密码,来黑掉你的服务器。解决方法一般是通过修改特定服务监听的端口,如下面第二张图中所示,修改后的sshd进程监听的端口有22和63213端口,那么我把这个端口暴露出去,被扫描的纪律就小很多了。


上面这个命令查看的是服务器上的进程对外监听的端口,但是在CentOS7中,默认会打开firewalld防火墙,如果防火墙打开后,默认情况下只会监听在22号端口,也就是说主机对外暴露的端口只有22。如下面图中所示,查看防火墙开放端口的命令是
iptables-save
结果如下面第二张图中所示:


如果想增加对外开放的端口,就需要通过防火墙的管理命令firewalld-cmd,例如我想开放80端口,那么命令就是:
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
第一条命令是添加端口,第二条命令是重载防火墙。

看到sucess字样后,再使用iptables-save命令查看端口,可以看到,对外放开的端口增加了80.
1、开放端口firewall-cmd --zone=public --add-port=5672/tcp --permanent # 开放5672端口
firewall-cmd --zone=public --remove-port=5672/tcp --permanent #关闭5672端口
firewall-cmd --reload # 配置立即生效
2、查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports
Http没有效应直接显示源码
1.apache没有添加对应的php类型,所以不支持php的脚本解析
解决办法:在配置文件中添加对应类型
找到apache配置文件:知道位置的自己去找,不知道位置的试试使用find命令
在根目录下执行:#find / -name "httpd.conf"
修改httpd.conf在文件中添加一行内容:AddType application/x-httpd-php .php
2.没有加上针对php的索引,如果没有该索引的支持,则无法解析用php编写的网页
解决办法:在配置文件中添加对应索引
找到配置文件方法同上,找到DirectoryIndex index.html
改为DirectoryIndex index.html index.htm index.php 即可
服务器搭建(CenOS 7 Apache + PHP _Mysql环境(LAMP))的更多相关文章
- Windows下SVN服务器搭建方法整理(apache)
http://skydream.iteye.com/blog/437959 http://www.cnblogs.com/liuke209/archive/2009/09/23/1572858.htm ...
- centos下yum搭建安装linux+apache+mysql+php环境
一.脚本YUM源安装: 1.yum install wget #安装下载工具wget 2.wge ...
- SVN服务器搭建(与apache整合)
一.SVN介绍 SVN是一个版本控制工具,Subversion的版本库(repository),就是位于服务器,统一管理和储存数据的地方. 二.SVN数据存储方式 在Subversion中,版本库的数 ...
- centos6.5 yum搭建安装linux+apache+mysql+php环境
一.脚本YUM源安装: 1.yum install wget #安装下载工具wget2.wget ...
- centos下yum搭建安装linux+apache+mysql+php环境教程
我们利用linux系统中yum安装Apache+MySQL+PHP是非常的简单哦,只需要几步就可以完成,具体如下: 一.脚本YUM源安装: 1.yum install wget ...
- 腾讯云服务器搭建Apache/PHP/MySQL环境
软件环境 Windows Server 2008 R2 企业版 SP1 64位 刚刚进入 Windows Server ,你会看到以下界面: 列出了服务器的基础信息和常用配置 下载 XAMPP htt ...
- 第02章_MySQL环境搭建
第02章_MySQL环境搭建 1. MySQL的卸载 步骤1:停止MySQL服务 在卸载之前,先停止MySQL8.0的服务.按键盘上的"Ctrl + Alt + Delete"组合 ...
- 如何搭建lamp(CentOS7+Apache+MySQL+PHP)环境 [转]
在网上搜资料,自己在本地虚拟机上尝试搭建,弄了整整一天一夜,终于弄好了.网上的资料,虽然很多,但大多都是重复的,拿去试了之后,又很多都不能得到正确的结果.最终找到了适合我的linux环境的搭建方式;在 ...
- linux下的服务器搭建集成环境
linux下的服务器搭建集成环境 ——写给初学者的我们 1.准备工具 1.1 SecureCRT SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录 ...
- 搭建Apache+MySQL+PHP环境
1.1 搭建Apache+MySQL+PHP环境 1.1.1 关于安装前的准备 配置好yum源(/etc/yum.repos.d/)目录下,不会就去寻求运维支持. httpd-2.2.29.tar.g ...
随机推荐
- 系统整理K8S的配置管理实战-建议收藏系列
目录 一.ConfigMap 1.1.创建 1.1.1.from-file 1.1.2.from-env-file 1.1.3.from-literal 1.1.4.基于yaml文件创建 1.2.Po ...
- Jmeter——请求响应内容乱码解决办法
前段时间,换过一次设备,重新下载了Jmeter.有一次在编写脚本时,响应内容中的中文一直显示乱码. 遇到乱码不要慌,肯定是有办法来解决的.具体解决办法,可以参考之前的博文,Jmeter--BeanSh ...
- JMeter自定义HTTP组件
JMeter是一个优秀的开源项目,我们可以在jmeter的官网了解到如何使用和如何二次开发:https://jmeter.apache.org/ 因工作需要,最近做了一个JMeter自定义的http组 ...
- K8S节点配置资源驱逐
#参考文章:https://www.cnblogs.com/zhangrui153169/p/15726165.html 当节点内存到达多少时.对节点的pod进行驱逐 [root@lecode-tes ...
- 2022春每日一题:Day 10
题目:CF1110E Magic Stones 每次操作 c[i]变成c[i-1]+c[i+1]-c[i],那么显然,c[1]和c[n]是不会改变的,因此只要c[1]和t[1],c[n]和t[n]不相 ...
- Go1.20 新版覆盖率方案解读
玩过Go覆盖率的同学当有所了解,Go的覆盖率方案最初的设计目标仅是针对单测场景,导致其局限性很大.而为了适配更多的场景,行业内各种博客.插件.黑科技介绍也层出不穷.当然,过去我们也开源过Go系统测试覆 ...
- 根据经纬度算UTM带号
1. UTM (Universal Transverse Mercator)坐标系是由美国军方在1947提出的.虽然我们仍然将其看作与"高斯-克吕格"相似的坐标系统,但实际上UT ...
- Qt_CLion
目录 安装Qt和CLion 配置 CLion配置Qt的资源文件系统 在项目根文件夹下创建一个资源文件夹 在项目根目录下创建一个qrc文件 安装Qt和CLion 相关的安装网上有很多教程,安装步骤这里不 ...
- 4.3:flume+Kafka日志采集实验
〇.目标 使用kafka和flume组合进行日志采集 拓扑结构 一.重启SSH和zk服务 打开终端,首先输入:sudo service ssh restart 重启ssh服务.之后输入下述命令开启zo ...
- BFS算法套路框架
一.概念 1.定义 Broad First Search 2.与DFS区别 BFS找到的路径最短 3.本质 找出图中从起点到终点的最近距离 二.二叉树的最小高度111 1.代码 /** * Defin ...