分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

+++++++LAMP布署Wordpress、phpMyadmin

发布时间:2023-09-06 01:14责任编辑:胡小海关键词:暂无标签

常见动态资源服务模型

  • LAMPLinuxApacheMariadb|Mysql|Mongdb Php|Perl|Python

  • LAMMPLinux Apache Mariadb|Mysql|MongdbMemocachePhp|Perl|Python

  • LNMPLinuxNginxMariadb|Mysql|Mongodb Php|Perl|Python

  • LNMMPLinux Nginx Mariadb|Mysql|MongodbMemocachePhp|Perl|Python

  • LAMTLinux Apache Mariadb|Mysql|MongdbTomcat

  • LNMTLinux Nginx Mariadb|Mysql|MongdbTomcat

httpd静态资源的响应模型

客户端通过http协议连接静态资源服务器

650) this.width=650;" src="http://img.baidu.com/hi/jx2/j_0057.gif" ?/>650) this.width=650;" src="https://s5.51cto.com/wyfs02/M00/07/AC/wKiom1nNokrB6hD3AAAlYH96nTo339.png" ?/>

httpd动态态资源的响应模型

程序文件需要在虚拟机(PHP, Perl, Tomcat, Python)中运行后响应。

如果虚拟中的程序运行过程中需要数据库时,就通过连接数据库的驱动,驱动内提供的函数库完成封装报文、解封装报文和与mysql服务器交互。

  • CGI650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/07/AD/wKiom1nNp96DpmCIAACOZQILeCY218.png" ?/>

    • 静态资源: fork自身用子进程响应。

    • 动态资源:CGI调用对应程序,fork自身,程序作为子进程运行

    • 在同一个主机上通信IPC:

      消息队列、共享内存、旗语、套接字messagequeue,sharedmemor,semaphores,unixsocket
    • 缺陷:**httpd处理的请求过多**

  • FastCGI650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/07/AD/wKiom1nNqmiRa_CkAACCLKAhgzE970.png" ?/>

    • 跨主机通信IPC:

      套接字、远程过程调用socket,rpc
  • 动态网站特性

    • 静态资源>动态资源(一个PV内1/10个为动态)

    • 1/100个需要mysql的数据[在应用程序服务器中]

    • 加强后端服务器的性能

  • httpd与php结合的方式

    • CGI: 作为HTTPD子进程<与tomcat, perl, python整合>

    • Modules: php作为httpd的模块, httpd调用模块不用生成子进程

    • FastCGI: 独立的服务器

文件查询和数据库查询的区别

  • 操作文件时都需要将数据载入内存中

    • 将文件中的所有数据块加载至内存进行查找

  • 数据库管理系统:[可以将数据存储为较小的数据集],查询时只用装载较小的数据集

    • 将部分字段抽取<复制>出来,做为一个较小的数据集,存储的位置有指向原位置的指针

    • 将抽取出的字段按特定的逻辑,再抽取一份,做为一个小的数据集

    • 查找到的key对应的指针会指向原位置所在的行[每行或多行为一个数据块]650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/07/AC/wKiom1nNn1KBYU41AAGUxafg5E8413.png" ?/>

php解释器与mysql交互

php解释器中运行的php代码/程序,需要用到mariadb时,用驱动,连接mariadb

php

服务器端脚本编程语言,动态网站开发语言:php, asp, ruby, c, bash<解释器,提供程序功能>

  • 代码执行过程

    扫描(词法分析) --> parsing(语义分析-->表达式) --> compilation(表达式-->opcode) --> exec(opcode-->机器指令)

php加速方式

请求相同的动态资源时,之前缓存在内存中的opcode相同代码可以重复利用

即使是prefork,进程间也可以共用opcode

注意:prefork每个进程独立的,进程有自己的内存空间,不能使用其他进程内资源

存储系统

  • 文件系统: 文件 操作文件时,需要内核的系统调用

  • SQL数据库: mariadb, mysql, oracle, ms_sql 交互时,用驱动[函数库]连接

  • no_sql: redis, mongodb, hbase

  • new_sql: <存储,基于分布式模式,管理的存储的系统>

rpm提供LAMP组合布署开源程序

wordpress, phpMyadmin, discuss

CentOS 6rpm安装LAMP

  • 配置yum源

    #install-d/media/cdrom#mount-r/dev/cdrom/media/cdrom#mv-v/etc/yum.repos.d/CentOS-Base.repo{,.bak}#vim/etc/yum.repos.d/CentOS-Base.repo[C6CentOS]name=CentOS6failovermethod=prioritybaseurl=file:///media/cdromhttp://mirrors.aliyun.com/centos/6/os/i386/gpgcheck=0enabled=1[EPEL]name=FedoraEPELfailovermethod=prioritybaseurl=http://mirrors.aliyun.com/epel/6/i386/http://mirrors.sohu.com/fedora-epel/6/i386/gpgcheck=1gpgkey=http://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-6enabled=1
  • 安装

    #yum-yinstallhttpdphpphp-mysqlmysql-server
  • 配置

    #rpm-qlphp/etc/httpd/conf.d/php.conf//提供httpd的配置文件/usr/lib/httpd/modules/libphp5.so//提供给httpd的模块PS:此模块仅能运行prefork模型,worker|event模型:libphp5-zts.so模块#httpd-Mphp5_module(shared)//模块已经被装载
  • 启用httpd, mysql

    #servicehttpdstart#servicemysqldstart
    • 测试httpd

      #ss-tnl在Windows浏览器中键入IP地址测试http://
    • 测试mysql

      #ss-tnl#mysqlmysql>
  • 测试

    • php程序执行环境

      #vim/var/www/html/index.php<?phpphpinfo();?>

      650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/A6/61/wKioL1nNvamgV9IgAABFy80OUas217.png" ?/>

    • 测试php程序通过驱动连接mysql服务器

      php-mysql驱动所提供的调用: mysql_connect, mysql_close php代码以‘;‘结尾

      #vim/var/www/html/index.php<?php$link=mysql_connect(‘localhost‘,‘root‘,‘‘);if($link)echo"Success";elseecho"Failure";mysql_close();?>

      650) this.width=650;" src="https://s4.51cto.com/wyfs02/M02/07/B0/wKiom1nNvprxcKHyAAAKedrRZhs215.png" ?/>

      停止服务#servicemysqldstop

      650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/07/B0/wKiom1nNvymyEXQkAAAJ-Bzd21M255.png" ?/>

  • 布署wordpress[个人博客站点]

    • 服务器环境要求

      PHP5.2.4或更新版本

      MySQL5.0或更新版本

      Apachemod_rewrite模块(可选,用于支持“固定链接”和“站点网络”功能)

    • 下载链接:wordpress-4.8.1-zh_CN.zip

    • 获取wordpresswordpress中文站点

    • 展开并配置

      #unzipwordpress-4.8.1-zh_CN.zip#cp-awordpress/var/www/html/#cd/var/www/html/#ln-svwordpresswp//便于升级#cdwp#cpwp-config-sample.phpwp-config.php#vimwp-config.phpdefine(‘DB_NAME‘,‘wpdb‘);define(‘DB_USER‘,‘wpuser‘);define(‘DB_PASSWORD‘,‘wppass‘);
    • mysql中添加用户

      #mysqlmysql>GRANTALLON*.*TO‘wpuser‘@‘localhost‘IDENTIFIEDBY‘wppass‘;mysql>GRANTALLON*.*TO‘wpuser‘@‘127.0.0.1‘IDENTIFIEDBY‘wppass‘;mysql>FLUSHPRIVILEGES;mysql>CREATEDATABASEwpdb;mysql>\q
    • 在Windows主机中,输入CentOS虚拟主机的IP测试

      http://172.16.100.1/wp650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/07/B1/wKiom1nN0TDBFydrAABm0RuwIkY656.png" ?/>650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/A6/63/wKioL1nN0O_TeMbfAAEqy6Gr1G0694.png" ?/>

  • 布署phpMyadmin[mysql Web GUI]

    • 安装php扩展: php-mbstring

      #yuminstallphp-mbstring//AmoduleforPHPapplicationswhichneedmulti-bytestringhandling
      [root@localhostpma]#rpm-qlphp-mbstring/etc/php.d/mbstring.ini/usr/lib/php/modules/mbstring.so//提供了php的扩展模块或库
    • 重载httpd,因为php是httpd的模块

      #rpm-qlphp/etc/httpd/conf.d/php.conf/usr/lib/httpd/modules/libphp5.so//php是httpd的模块#servicehttpdreload
    • 再次测试650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/07/B2/wKiom1nN2B-i1Fc_AACJ_y9FrDI206.png" ?/>650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/A6/63/wKioL1nN197TovwVAAEPeMlUzSk527.png" ?/>

    • 下载链接:phpMyAdmin-4.7.4-all-languages.zip

      当前版本与PHP 5.5至7.1和MySQL 5.5及更高版本兼容。

    • 下载链接:phpMyAdmin-4.0.10.20-all-languages.zip

      旧版本与PHP 5.2和MySQL 5兼容。不支持PHP 5.5或更新版本。至2017年4月1日为止。

    • 获取版本

      #rpm-qphp#rpm-qmysql#rpm-qhttpd
    • 获取phpMyadminphpMyadmin官网

    • 展开并配置

      #unzipphpMyAdmin-4.0.10.20-all-languages.zip#cp-aphpMyAdmin-4.0.10.20-all-languages.zip/var/www/html#cd/var/www/html/#ln-svphpMyAdmin-4.0.10.20-all-languagespma#cdpma#cpconfig.sample.inc.phpconfig.inc.php#opensslrand-hex16e870cf5bb5e30295ca0389f77b469919#vimconfig.inc.php$cfg[‘blowfish_secret‘]=‘e870cf5bb5e30295ca0389f77b469919‘;/*YOUMUSTFILLINTHISFORCOOKIEAUTH!*/[‘AllowNoPassword‘]=false;//拒绝空密码登陆
    • mysql中给root用户添加密码

      #mysqlmysql>SETPASSWORDFOR‘root‘@‘localhost‘=PASSWORD(‘magedu‘);mysql>SETPASSWORDFOR‘root‘@‘127.0.0.1‘=PASSWORD(‘magedu‘);mysql>FLUSHPRIVILEGES;mysql>\q
    • 在Windows主机中,输入CentOS虚拟主机的IP测试

      http://172.16.100.3/pma650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/A6/63/wKioL1nN03CTH3BcAAAhvdC4T98416.png" ?/>

CentOS 7rpm安装LAMP

  • 安装

    #yum-yinstallhttpdphpphp-mysqlmariadb-server
  • 启动

    #systemctlstarthttpd.service#systemctlstartmariadb.service

给php添加xcache模块,实现缓存加速

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved