一、LAMP简介

LAMP:Linux Apache MySQL PHP 的简写,即把Apache、MySQL以及PHP安装在Linux系统上,组成一个环境来运行PHP的脚本语言,通常是网站。

Apache是最常用的web服务软件,而MySQL是比较小型的数据库软件,这两个软件以及PHP都可以安装在一台机器上,也可以分开安装,当Apache和PHP可以安装在同一台机器上,PHP是作为Apache的一个模块存在的,apxs是httpd的一个工具,因为有它才会自动把PHP模块安装到httpd的modules目录下,也就是说PHP将会以一个模块的形式和httpd结合在一起工作。也可以安装在不同台机器上,此时PHP是作为服务器的一个反向代理存在的。

a: apache (httpd):接收用户的web请求;静态资源则直接响应;动态资源为php脚本,对此类资源的请求将交由php来运行;

m: mysql, mariadb:数据管理系统

p: php, perl, python:运行php程序

http与php结合的方式:

FastCGI (独立作为服务器)

modules (把php编译成为httpd的模块)

二、实践作业:部署lamp,以虚拟主机安装wordpress, phpwind, discuz; (centos7为例)

准备工作:
<1.软件安装全部使用yum

Modules:程序包,httpd, php, php-mysql, mariadb-server

FastCGI:程序包,httpd, php-fpm, php-mysql, mariadb-server

<2.关闭所有主机的iptables和selinux,防止影响实验顺利进行,执行如下命令:

[root@centos7 ~]# systemctl stop firewalld
[root@centos7 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@centos7 ~]# setenforce 0
[root@centos7 ~]# vim /etc/selinux/config
SELINUX=disabled

1、基于lamp搭建wordpress blog

httpd-server主机:

<1. 配置httpd配置文件

【注意】CentOS7下,无需修改httpd的主配置文件,因为CentOS7中,当虚拟主机存在时会默认禁用httpd主机的配置文件(CentOS6下需要禁用掉httpd主机,才可以启用虚拟主机功能,方式是注释掉httpd主配置文件的DocumentRoot一行),所以可以直接进入/etc/httpd/conf.d/目录下新建并编辑虚拟主机配置文件即可

[root@centos7 ~]# yum -y install httpd php mariadb-server php-mysql
[root@centos7~]# systemctl stop firewalld; setenforce 0

新建并编辑虚拟主机配置文件

[root@centos7 ~]# vim /etc/httpd/conf.d/vhost.conf
</VirtualHost>
<VirtualHost *:80>
ServerName  blog.magedu.com
DocumentRoot "/app/blog/htdocs"
CustomLog "logs/blog.magedu.com_access_log" combined
ErrorLog "logs/blog.magedu.com_error_log"
<Directory "/app/blog/htdocs">
Require all granted
</Directory>
</VirtualHost>

重启服务

[root@centos7~]# systemctl restart httpd

编辑mysql主配置文件

[root@centos7 ~]# vim /etc/my.cnf
[mysqld]
skip_name_resolve                       //跳过域名解析

重启数据库服务

[root@centos7 ~]# systemctl restart mariadb

创建共享资源目录

[root@centos7 blog]# mkdir -pv /app/blog

安装wordpress程序文件至此目录并设定其配置文件

[root@centos7 blog]# tar xvf wordpress-4.9.4-zh_CN.tar.gz -C /app/blog/
[root@centos7 blog]# mv wordpress wordpress-4.9.4

创建软链接

[root@centos7(nanyibo) blog]# ln -sv wordpress-4.9.4 htdocs
[root@centos7(nanyibo) blog]# ll
total 4
lrwxrwxrwx. 1 root   root        15 Oct 19 15:32 htdocs -> wordpress-4.9.4
drwxr-xr-x. 5 nobody nfsnobody 4096 Feb  8  2018 wordpress-4.9.4

设置共享目录的权限

[root@centos7 ~]# cd /app/blog/
[root@centos7 blog]# setfacl -m u:apache:rwx htdocs/

注意:因为在httpd虚拟主机配置文件中,是根据客户端请求的资源的文件名后缀是否为" .php " 而决定是否使用php-fpm代理的,与后缀为" .php "的文件的内容无关,所以无需修改wordpress文件中的配置文件,index.php文件中也无需有内容,只需在php-fpm代理服务器端处在对应的文件中指定内容即可。

进入mysql客户端,建立用户、数据库、以及表和字段

[root@centos7 ~]# mysql
MariaDB [(none)]> create database wpdb;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all on wpdb.* to 'wpuser'@'192.168.153.%' identified by 'wppass';
Query OK, 0 rows affected (0.02 sec)

在浏览器输入域名blog.magedu.com开始安装

注意:mysql配置文件中不要加额外的东西。我在做mysql主从实验的时候加了read_only,结果在安装的时候报错,是因为数据库不能只读,需要注释掉那一行

2、基于php-fpm模式的lamp搭建phpmyadmin及discuz

[root@centos7 ~]# yum -y install httpd php-fpm php-mysql mariadb-server

设置代理配置文件

[root@centos7~]# vim /etc/php-fpm.d/www.conf
listen = 0.0.0.0:9000                                      此处填写本主机的IP地址(不能写127.0.0.1),端口为必填项
listen.allowed_clients = 172.18.254.202 ==>                     此处填写被代理的httpd服务的主机的IP地址
[root@centos7 ~]# mkdir /var/lib/php/session

修改权限

[root@centos7 ~]# chown apache.apache /var/lib/php/session

重启服务

[root@centos7 ~]# systemctl restart php-fpm
[root@centos7 ~]# ss -ntl |grep 9000
LISTEN     0      128          *:9000                     *:*

编辑修改配置文件

[root@centos7 ~]# vim /etc/httpd/conf.d/pma.conf
DirectoryIndex index.php
<VirtualHost *:80>
ServerName pma.magedu.com
DocumentRoot /vhosts/pam/htdocs
ProxyRequests Off                                //关闭正向代理
ProxyPassMatch ^/(.*\.php)$  fcgi://172.18.254.202:9000/vhosts/pam/htdocs/$1          / /模式匹配其内容
<Directory "/vhosts/pam/htdocs">
Options None
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
[root@centos7 ~]# cd /vhosts/pam/

安装phpMyAdmin程序文件至此目录并设定其配置文件

[root@centos7 pam]# unzip phpMyAdmin-4.0.10.20-all-languages.zip
[root@centos7 pam]# ln -sv phpMyAdmin-4.0.10.20-all-languages htdocs
‘htdocs’ -> ‘phpMyAdmin-4.0.10.20-all-languages’
[root@centos7 pam]# ll
total 4
lrwxrwxrwx. 1 root root   34 Oct 19 17:27 htdocs -> phpMyAdmin-4.0.10.20-all-languages
drwxr-xr-x. 9 root root 4096 Mar 28  2017 phpMyAdmin-4.0.10.20-all-languages
[root@centos7 htdocs]# cp config.sample.inc.php config.inc.php
[root@centos7 htdocs]# vim config.inc.php
$cfg['Servers'][$i]['host'] = '172.18.254.202';
[root@centos7 htdocs]# yum -y install php-mbstring
[root@centos7 htdocs]# systemctl restart php-fpm
[root@centos7 htdocs]# mysql
MariaDB [(none)]> grant all on *.* to 'root'@'172.18.254.202' identified by 'magedu' with grant option;
Query OK, 0 rows affected (0.00 sec)

注意:with grant option:授权用户可以再次授权

通过浏览器输入pma.magedu.com可访问到phpmyadmin并用以上创建的帐户来登录。

安装discuz

[root@centos7 ~]# cd /etc/httpd/conf.d
[root@centos7 conf.d]# cp pma.conf bbs.conf
[root@centos7 conf.d]# vim bbs.conf
DirectoryIndex index.php
<VirtualHost *:80>
ServerName bbs.magedu.com
DocumentRoot /vhosts/bbs/htdocs
ProxyRequests Off                           //关闭正向代理
ProxyPassMatch ^/(.*\.php)$  fcgi://172.18.254.202:9000/vhosts/bbs/htdocs/$1       //模式匹配其内容
<Directory "/vhosts/bbs/htdocs">
Options None
AllowOverride None
Require all granted
</Directory>
</VirtualHost>

在windows的hosts中修改

172.18.254.202 bbs.magedu.com

[root@centos7 conf.d]# mkdir /vhosts/bbs -pv
mkdir: created directory ‘/vhosts/bbs’
[root@centos7 ~]# mkdir /vhosts/bbs/discuz-x3.3
[root@centos7 ~]# mv Discuz_X3.3_SC_UTF8.zip /vhosts/bbs/discuz-x3.3
[root@centos7~]# cd /vhosts/bbs/discuz-x3.3
[root@centos7 discuz-x3.3]# unzip Discuz_X3.3_SC_UTF8.zip
[root@centos7 ~]# cd /vhosts/bbs/

共享的论坛资源都在upload目录,所以只需将它放在此目录下即可

[root@centos7 bbs]# ln -s discuz-x3.3/upload htdocs
[root@centos7 bbs]# ll
total 0
drwxr-xr-x. 5 root root 80 Oct 19 17:41 discuz-x3.3
lrwxrwxrwx. 1 root root 18 Oct 19 17:42 htdocs -> discuz-x3.3/upload
[root@centos7 bbs]# setfacl -R -m u:apache:rwx htdocs/

通过phpmyadmin为discuz创建数据库及用户并授权。然后在浏览器上输入bbs.magedu.com进行安装discuz

编辑windows的hosts

win+r  打开运行:notepad C:\Windows\System32\drivers\etc\hosts

172.18.254.202 bbs.magedu.com

在浏览器输入域名bbs.magedu.com开始安装,登录。

转载于:https://blog.51cto.com/13869470/2307086

LAMP服务搭建详解相关推荐

  1. base64图裁剪 php_世界上最好的编程语言PHP图层裁剪服务搭建详解

    IT技术研习社,专注互联网技术研究与分享,喜欢的朋友可以点击[关注]:把经验传递给有梦想的人: PHP图像裁剪服务搭建 概述 每一个做过WEB程序开发的程序员(比如,博客.电商),应该都有这样的体验, ...

  2. NGINX服务搭建详解

    nginx安装配置 NGINX常用模块 nginx模块分为nginx官方模块以及nginx第三方模块 Nginx编译选项 模块作用 ngx_http_core_module 包含一些核心的http参数 ...

  3. LVS负载均衡集群服务搭建详解(一)

    LVS概述 1.LVS:Linux Virtual Server 四层交换(路由):根据请求报文的目标IP和目标PORT将其转发至后端主机集群中的某台服务器(根据调度算法): 不能够实现应用层的负载均 ...

  4. ntp服务restrict_NTP服务搭建详解一条龙

    说在前面:ntp和ntpdate区别 ①两个服务都是centos自带的(centos7中不自带ntp).ntp的安装包名是ntp,ntpdate的安装包是ntpdate.他们并非由一个安装包提供. ② ...

  5. LVS负载均衡集群服务搭建详解

    一.LVS概述  1.LVS:Linux Virtual Server 四层交换(路由):根据请求报文的目标IP和目标PORT将其转发至后端主机集群中的某台服务器(根据调度算法): 不能够实现应用层的 ...

  6. 安装lamp服务器系统,LAMP安装环境搭建详解

    实现LAMP 1.LAMP工作原理 LAMP是一个强大的Web应用程序平台,其中L是指linux系统:A是指apache也就是http;M一般是MySQL/mariadb数据库;P一般是php, pe ...

  7. DHCP原理及服务器搭建详解(固定IP地址,DHCP中继服务)

    DHCP原理及服务器搭建详解 一.引子: DHCP在网络中的作用非常重要,简单来说就像给每台服务器配身份证的机构,你有合格的身份才能做合格的事情,要不然连火车都坐不了.服务器只有被DHCP服务配置了I ...

  8. Linux下的samba服务配置详解

    Linux下的samba服务配置详解 一.Samba介绍 二.Samba工具及特性 三.搭建环境介绍 四.Samba配置步骤 1.服务端操作 2.在客户端操作 五.测试用户的权限情况 一.Samba介 ...

  9. Linux的企业-Codis 3集群搭建详解

    Codis 3集群搭建详解 Codis 3介绍 对于Redis集群方案有好多种,基本常用的就是twemproxy,codis.redis cluster这三种解决方案,本人有幸工作中都大量使用过,各有 ...

最新文章

  1. iOS 9 学习系列:Xcode Code Coverage Tools
  2. Redisson官方文档 - 目录
  3. 从PageRank到反欺诈与TextRank
  4. 毕业论文计算机附录模板,毕业论文格式是什么,附录又是什么?
  5. Android官方开发文档Training系列课程中文版:Activity测试之创建功能性测试
  6. Redhat5下haproxy+keepalived+nginx配置笔记
  7. 《数字时代汽车营销变革白皮书》发布,为新消费时代的车企营销提供指南
  8. python中的列表和元组_浅析Python中的列表和元组
  9. Spring中的bean装配
  10. freemarker中空值“”,null值的判断
  11. SVM入门(五)线性分类器的求解——问题的描述Part2
  12. 8音度dsp调音教程_8音度汽车调音软件
  13. 数据工程师必须掌握的7个大数据实战项目
  14. PHP8.0尝鲜系列(一):Windows 10安装PHP8.0
  15. Byethost美国免费空间免费撸
  16. 2022年5月编程语言排行看看学什么吃香?
  17. http中302与304
  18. 斗争程序猿(四十一)——历史朝代大学(五岁以下儿童)——我的娱乐
  19. python爬取证券数据并存入数据库
  20. 掌握了这 10 款开源安全工具,从此系统稳定可靠乐无忧!

热门文章

  1. VisualSvn+TortoiseSVN的安装说明
  2. 自绘制HT For Web ComboBox下拉框组件
  3. 关于在hdfs上对数据创建外部表的原因
  4. java中,字符串和集合判断是否为空
  5. oracle 创建database link
  6. Spring Security3.1登陆验证
  7. MYSQL中 ENUM 类型
  8. airtest下载网址
  9. oracle之 变更OS时间对数据库的影响
  10. 企业级Python开发大佬利用网络爬虫技术实现自动发送天气预告邮件