CentOS 7 搭建 LAMP(Linux+Apache+MySQL+PHP)

很久没写博客,从中学到大学,选择太多。

算法竞赛难度不断加大,感觉自己已经无法走下去,兴趣也不够,所以尝试接触多点其他事物吧,或许能找到真爱。

动手写Linux专题的教程,主要源于部门工作需要,也希望分享出来,能帮到有需要的人。

 

我的LAMP环境的搭建主要使用yum工具逐个安装,傻瓜式,方便快捷。

 

一、L

—— Linux系统环境,我的环境是虚拟机中安装的CentOS 7 x64

备注:这部分的安装教程就不写了,比较简单,至于虚拟机的联网配置问题,可以参考百度。

而且出于安全考虑,我在主机上配置了super user,故很多命令都采用了sudo开头

 

二、A 

—— Apache,可以百度了解一下,属于一种开源免费的Web服务器软件

1、用yum安装httpd

命令:$ sudo yum install httpd

备注:根据相应的提示进行确认即可,没有什么特别需要注意的地方。

关于httpd:httpd是http服务的守护进程,我们需要安装的不是http(http是超文本传输协议的缩写),需要安装的是能够在主机上提供http服务的软件(运行后成为进程)。

2、允许开机自启动

命令:$ sudo systemctl enable httpd.service

关于systemctl:systemctl是centos7中新的一种系统管理工具,ctl是control的缩写,之前老式的service enable http.service都需要改用systemctl的相应写法替代。常用的还有systemctl restart httpd.service, systemctl start httpd.service

3、运行httpd

命令:$ sudo systemctl start httpd.service

 

三、P 

1、用yum安装php

命令:$ sudo yum install php

备注:根据相应的提示进行确认即可,没有什么特别需要注意的地方。

关于php和php56w:建议有条件的同学可以yum install php56w(这个可能需要单独下载某些php的拓展模块才能正常使用,以后的教程可能会讲到),因为有的框架对php版本要求较高,如tp5要求php >= 5.6.0,而yum install php安装的版本一般为5.4左右。

 

四、M 

—— MySQL,一种关系型数据库。据我了解,在其被Oracle公司收购后,其原班人马秉承开源精神,在MySQL基础上开发出了MariaDB。我在主机上安装的就是MariaDB。

1、用yum安装MariaDB

命令:$ sudo yum install mariadb 和 $ sudo yum install mariadb-server(也可以用一条命令一起安装)

备注:安装过程中会有提问,如“是否允许root远程登录”(默认为yes)、“是否设置root密码”(默认为空)......同时系统会默认新建一个叫test的数据库,可供你自己调试后端代码用,这些都根据英文提示相应设置即可,如果设置错了也不怕,可以在安装完成之后到配置文件中修改,文末会附上一些常用的LAMP配置文件目录

2、允许开机自启动

命令:$ sudo systemctl enable mariadb.service

备注:一般会有提示信息,类似“Creat symlink from ... to ...”,这是正常的,一般设置为自启动的软件都会被建立软连接

3、运行mariadb服务

命令:$ sudo systemctl start mariadb.service

 

五、查看安装目录

命令:$ sudo rpm -ql [package-name]

参数解释:q为询问模式、l为列出目录

关于yum和rpm:yum源均为rpm包,yum与rpm均可作为安装rpm包的工具(事实上,rpm为Red-Hat Package Manager缩写),但yum的好处在于会检索相应的依赖包,方便快速搭建环境,而rpm则不会,可以说yum安装方式是“智能化的rpm安装方式”

 

六、LAMP常用配置文件目录

仅适用于yum方法安装的L、A、M、P,一键安装LAMP的目录一般会在/usr下,请另寻教程了解

 

1、/etc/httpd/conf/httpd.conf

文件官方解释为:Apache HTTP Server的主要配置文件。事实上,笔者认为,”主要“只是相对于”拓展“,类似”入口文件“和”头文件“的关系,这么区分精简了httpd.conf文件,详见2

 

2、/etc/httpd/conf.d/  中的文件

此目录无法进入,但是可以用ls查看,因为所有者和所属组为apache,且该目录的”其他人的权限“为”r--”。

在httpd.conf最后一样有解释:此目录下文件会被Apache作为拓展配置加载。

而且在httpd.conf中,有用于”包含“(Include)该目录下文件的命令,此做法等价于将相应拓展配置文件的内容复制粘贴到httpd.conf中。

其中包含了apache模块的加载配置文件、php与url重写有关的配置(php.conf)

 

3、/etc/php.ini

php软件的配置文件

 

4、/etc/php.d/  中的文件

可以在php.ini中给出的解释是:该目录下的配置文件会被php自动加载,其与php.ini的关系类似apache服务器”拓展配置“和”主要配置“的关系

 

5、/var/www/html/

此目录为apache服务器提供http服务的网站根目录

 

6、/etc/my.cnf

mysql的配置文件

 

7、/var/mysql/

此目录包含了mariadb数据库的数据文件

 

第一篇教程博文,希望大家能指出我写得思路不清晰或实践性不强或错漏之处~

你可能感兴趣的:(Linux)