LAMP简介

LAMP 环境是指 Linux 系统下,由 Apache httpd + MySQL/MariaDB + PHP/Python/Perl 及其它相关辅助组件组成的网站服务器架构。用于实现搭建动态网站。该架构被互联网公司广泛使用。

动态不是指有动画和特效的网站,它是相对于静态网站而言。用户访问静态网站,请求的一般是固定的页面,图片等静态元素,每个用户看到的界面基本都是一样的。

而动态网站可以看做是我们登录了购物网站淘宝,京东之后根据登录账号不一样生成的个性化页面,它是通过数据库来实现动态构建网页。

安装之前

测试环境安装之前,建议关闭 SELinux 和 防火墙。

CentOS7查看和关闭SELinux

getenforce
#查看是 Disabled 还是 Enforcing,Enforcing的话关闭:
#setenforce 0
#vi /etc/selinux/config
SELINUX=enforcing 这一行修改为:
SELINUX=disabled

CentOS7查看和关闭防火墙

firewall-cmd —state 查看状态
#systemctl stop firewalld && systemctl disable firewalld

安装Apache httpd

yum install httpd -y
#systemctl start httpd && systemctl enable httpd
#http -v 或 http -V 查看版本信息

httpd主配置文件说明

默认路径:/etc/httpd/conf/httpd.conf

重要配置项说明

  1. ServerRoot "/etc/httpd" #httpd配置文件中引用的相对路径都是基于"/etc/httpd"目录
  2. Listen 80 #监听80端口,可以多个,但不可用重复
  3. Include conf.modules.d/*.conf #指定配置文件可以包括conf.modules.d下的其他.conf文件
  4. User apache #指定httpd守护进程启动的用户
  5. Group apache #指定httpd守护进程启动的用户组
  6. ServerAdmin root@localhost #如果有问题,用户可以联系网站管理员用的电子邮件
  7. <Directory /> #<Directory></Directory> 为一对标签用于对目录进行块设置
  8. AllowOverride none #none 不允许覆写,表示忽略 .htaccess 文件(用于分布式配置)
  9. Require all denied #定义目录访问权限 denied 或 granted
  10. </Directory>
  11. DocumentRoot "/var/www/html" ###网站内容根目录
  12. <Directory "/var/www">
  13. AllowOverride None
  14. Require all granted
  15. </Directory>
  16. <Directory "/var/www/html">
  17. Options Indexes FollowSymLinks
  18. AllowOverride None
  19. Require all granted
  20. </Directory>

测试:

  • netstat -lntp | grep 80 | grep -v ‘grep’

tcp6 0 0 :::80 :::* LISTEN 14658/httpd

  • 写入个性化网页: date > /var/www/html/index.html
  • 本地访问:curl 127.0.0.1
  • 浏览器访问服务器IP地址(防火墙关闭或配置放行规则)

安装 MySQL(MariaDB)

由于 MariaDB 是MySQL被Oracle收购后,开源社群开发新的分支,几乎完全兼容MySQL。对初学者来说使用没有区别。
#yum install mariadb mariadb-server -y
#systemctl start mariadb && systemctl enable mariadb
#mysql -V

连接到数据库服务

mysql -u root -p mypassword -h hostname
本机首次连接:
mysql -u root

执行简单的SQL语句

SQL,结构化查询语言,对数据的操作主要有四种:
CRUD,表示创建(create)、读取(select)、更新(update)和删除(delete)

  1. MariaDB [(none)]> SHOW DATABASES; #查看所有数据库,默认唯一可以删除的数据库是test
  2. MariaDB [mysql]> USE mysql; #使用/选择数据库
  3. Database changed
  4. MariaDB [mysql]> SHOW TABLES; #查看当前数据库的表
  5. MariaDB [mysql]> SELECT * FROM user; #查看user表中所有的条目

mysql的配置文件与错误日志文件

cat /etc/my.cnf
cat /var/log/mariadb/mariadb.log

安装PHP

PHP 环境的软件包比较多,我们需要添加以下YUM源之后再安装:

  1. #yum install -y \
  2. https://repo.ius.io/ius-release-el7.rpm \
  3. https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
  4. #rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

安装PHP运行命令

  1. yum -y install php70w php70w-opcache php70w-mbstring php70w-gd php70w-xml \
  2. php70w-pear php70w-fpm php70w-mysql php70w-pdo

查看安装版本

  1. [root@localhost ~]#php -v
  2. PHP 7.0.33 (cli) (built: Dec 6 2018 22:30:44) ( NTS )
  3. Copyright (c) 1997-2017 The PHP Group
  4. Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
  5. with Zend OPcache v7.0.33, Copyright (c) 1999-2017, by Zend Technologies

运行以下命令,在httpd网站根目录创建phpinfo.php文件

  1. echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php
  2. systemctl restart httpd

完成后在网络可达的客户端主机上用浏览器访问:
http://服务器IP/phpinfo.php
显示如下信息说明已PHP环境已经生效:
image.png