lamp源码搭建详解及wordpress搭建(代码片段)

小凡it故事 小凡it故事     2023-01-18     363

关键词:

LAMP架构

LAMP 概述

  • Linux下LAMP( Linux+ Apache+My SQL/ MariaDB+PerI /PHP/ Python)是一组用来搭建动态网站的开源软件架构,本身是各自独立的软件服务,放在一起使用,拥有了越来越兼容成大的Web应用程序平台。
  • 本章向读者介绍互联网主流企业架构LAMP应用案例、PHP解释性语言详解、LAMP组合通信原理、LAMP企业源码架设、LAMP拓展及使用 Redis提升LAMP性能优化等。
  • 随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个T界的关注。LAMP架构受到大多数中小企业的运维、DBA、程序员的青睐, Apache默认只能发布静态网页,而LAMP组合可以发布静态+PHP动态页面
  • 静态页面通常指不与数据库发生交互的页画,是一种基于w3c规范的一种网页书写
    格式,是一种统一协议语言,所以称之为静态网页。静态页面被设计好之后,一般很少
    去修改,不随着浏览器参数改变而内容改变,需注意的是动态的图片也是属于静态文件。从SE0角度来讲,HTML页面更有利于搜索引擎的爬行和收录。常见的静态页面以.html、.gif、.jpg、.jpeg、.bmp、,png、.ico、TXT、,js、,css等结尾。
  • 动态页面通常指与数据库发生交互的页面,内容展示丰富,功能非常强大,实用性
    广。从SE0角度来讲,搜索引擎很难全面的爬行和收录动态网页,因为动态网页会随着
    的更新、参数的变更而发生改变,常见以.jsp、.php、.do、.asp、.cgi、.apsx等结尾。
  • LAMP企业主流架构最重要的三个环节,一是 Apache WEB服务器,二是PHP(PHP Hypertext Preprocessor),三是MYSL数据库
    Apache WEB服务器主要是基于多模块工作,依赖 PHP SAP处理方式中的PHP_ MODULE
    去解析PHP结尾的文件

实验环境

操作系统IP地址
CentOS 7.4192.198.10.11

实验步骤

Apache 源码安装

Apache源码安装

Mysql 源码安装

Mysql源码安装

PHP源码安装

  • 下载安装包

    • 下载地址:http://mirrors.sohu.com
  • 解压安装包

    [root@localhost lamp]# tar xf php-5.3.28.tar.bz2 
    [root@localhost lamp]# ls
    apache  httpd-2.2.20  mysql  mysql-5.5.20  mysql-5.5.20.tar.gz  php-5.3.28  php-5.3.28.tar.bz2
    [root@localhost lamp]# cd php-5.3.28
    
  • 预编译、编译、安装

    [root@localhost php-5.3.28]# ./configure --prefix=/usr/local/lamp/php5 --with-config-file-path=/usr/local/lamp/php5/etc --with-apxs2=/usr/local/lamp/apache/bin/apxs --with-mysql=/usr/local/lamp/mysql
    
    [root@localhost php-5.3.28]# make -j4 &&make install -j4
    
    
  • 整合lamp

    整合Apache+php环境,修改httpd.conf配置文件,然后加入如下语句:
    LoadModule     php5_module modules/libphp5.so (默认已存在)
    AddType     application/x-httpd-php  .php
    DirectoryIndex  index.php index.html (把index.php加入index.html之前)
    
    
  • 测试:

搭建WordPress

  • 下载wordpress

    [root@localhost ~]# wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
    --2021-05-23 15:57:24--  https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
    Resolving cn.wordpress.org (cn.wordpress.org)... 198.143.164.252
    Connecting to cn.wordpress.org (cn.wordpress.org)|198.143.164.252|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 9082696 (8.7M) [application/octet-stream]
    Saving to: ‘wordpress-4.9.4-zh_CN.tar.gz’
    
    78% [====================================>          ] 7,167,579   12.7KB/s  eta 16s     100%[==============================================>] 9,082,696    304KB/s   in 75s    
    
    2021-05-23 15:58:41 (118 KB/s) - ‘wordpress-4.9.4-zh_CN.tar.gz’ saved [9082696/9082696]
    
    [root@localhost ~]# 
    
  • 解压

    [root@localhost ~]# tar xf wordpress-4.9.4-zh_CN.tar.gz -C /usr/local/lamp/
    [root@localhost ~]#/usr/local/lamp/apache/htdocs
    
  • 创建WordPress 站点目录,给权限

    [root@localhost lamp]# mv wordpress apache/htdocs/
    [root@localhost htdocs]# ls
    index.html  index.php  worldpress
    [root@localhost htdocs]# chmod 755 -R /usr/local/lamp/apache/htdocs/worldpress/
    
  • 重启apache 服务

    [root@localhost htdocs]# cd ~
    [root@localhost ~]# apachectl restart
    
  • 在mysql数据库中输入以下命令

    MYSQL数据库命令行中创建PHP连接MYSQL的用户及密码,命令如下:
    create database wordpress charset=utf8;
    grant all on wordpress.* to root@'localhost' identified by "123456";
    
  • web界面安装

  • 手动创建:

    [root@localhost worldpress]# touch wp-config.php
    [root@localhost worldpress]# cat wp-config.php 
    <?php
    /**
     * WordPress基础配置文件。
     *
     * 这个文件被安装程序用于自动生成wp-config.php配置文件,
     * 您可以不使用网站,您需要手动复制这个文件,
     * 并重命名为“wp-config.php”,然后填入相关信息。
     *
     * 本文件包含以下配置选项:
     *
     * * MySQL设置
     * * 密钥
     * * 数据库表名前缀
     * * ABSPATH
     *
     * @link https://codex.wordpress.org/zh-cn:%E7%BC%96%E8%BE%91_wp-config.php
     *
     * @package WordPress
     */
    
    // ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
    /** WordPress数据库的名称 */
    define('DB_NAME', 'wordpress');
    
    /** MySQL数据库用户名 */
    define('DB_USER', 'root');
    
    /** MySQL数据库密码 */
    define('DB_PASSWORD', '123456');
    
    /** MySQL主机 */
    define('DB_HOST', 'localhost');
    
    /** 创建数据表时默认的文字编码 */
    define('DB_CHARSET', 'utf8mb4');
    
    /** 数据库整理类型。如不确定请勿更改 */
    define('DB_COLLATE', '');
    
    /**#@+
     * 身份认证密钥与盐。
     *
     * 修改为任意独一无二的字串!
     * 或者直接访问@link https://api.wordpress.org/secret-key/1.1/salt/
     * WordPress.org密钥生成服务
     * 任何修改都会导致所有cookies失效,所有用户将必须重新登录。
     *
     * @since 2.6.0
     */
    define('AUTH_KEY',         'DU`87M5j>dSZ6Q#;x%Q!wSI`q`Lq&s1ic<XkHt1!&mvZBXskL.H4ll[5Gfw%=Z6');
    define('SECURE_AUTH_KEY',  '+Wga5|t^dtEu>wmm8`]eArF-YNhn)PM(]O;[5=yacK2BQfE$x;TbrqRQF(<jMR/');
    define('LOGGED_IN_KEY',    'd<#Bf?oYu`qI7.?.YY^p7mlNHzo9Qn23FE 4>qCnp3[ZP>g4`KmF=v~3^@BQ3h2');
    define('NONCE_KEY',        'rL7T3R>V.Gg#zwV?2XgSce?9&Z[qv!Q9#heis/ky;)V?L[xsfaUhI]PS8Q(`Om7');
    define('AUTH_SALT',        'qw8x 0X[zY4fbP9/dX/U546sG:8I?]7 /0uc+w?sfv&xaEX>`SGbO^AS6`cM2mLd');
    define('SECURE_AUTH_SALT', 'xbUiB;T9`A-cHSgZI-J?*iYDoG:m:Kv%?7MNBZA$u Jo[Sl<-b,IfIV)B25x(rl&');
    define('LOGGED_IN_SALT',   'T8[-d:1ed@&%kL?9W$SAohu`VF)BkyeWqqiOFv dV/ByNu!4LV;_UMYoS/qb*Dv*');
    define('NONCE_SALT',       'PjWbKg~|-<]^8-A:MRG*j`o94*+9)i]:(SbnBSMSOCAV 9(m&kUF5^MV$*<r9]/W');
    
    /**#@-*/
    
    /**
     * WordPress数据表前缀。
     *
     * 如果您有在同一数据库内安装多个WordPress的需求,请为每个WordPress设置
     * 不同的数据表前缀。前缀名只能为数字、字母加下划线。
     */
    $table_prefix  = 'wp_';
    
    /**
     * 开发者专用:WordPress调试模式。
     *
     * 将这个值改为true,WordPress将显示所有用于开发的提示。
     * 强烈建议插件开发者在开发环境中启用WP_DEBUG。
     *
     * 要获取其他能用于调试的信息,请访问Codex。
     *
     * @link https://codex.wordpress.org/Debugging_in_WordPress
     */
    define('WP_DEBUG', false);
    
    /**
     * zh_CN本地化设置:启用ICP备案号显示
     *
     * 可在设置→常规中修改。
     * 如需禁用,请移除或注释掉本行。
     */
    define('WP_ZH_CN_ICP_NUM', true);
    
    /* 好了!请不要再继续编辑。请保存本文件。使用愉快! */
    
    /** WordPress目录的绝对路径。 */
    if ( !defined('ABSPATH') )
            define('ABSPATH', dirname(__FILE__) . '/');
    
    /** 设置WordPress变量和包含文件。 */
    require_once(ABSPATH . 'wp-settings.php');
    
    [root@localhost worldpress]# 
    

  • 测试:

LAMP 架构优化

当我们把LAMP架构配置好后,如何让服务器承担更大的访问量呢?今天我们将一起来学习LAMP如何来优化。

  • 优化PHP服务器
eAccelerator、APC、Xcache、ZEND属于一个免费的开源php加速、优化、编译和动态缓存项目,原理和apc类似,都是通过缓存php编译后的opcode代码来提高php脚本的执行性能。
目前最新的版本下载地址:
https://codeload.github.com/eaccelerator/eaccelerator/legacy.tar.gz/master 
tar -xzf master ;cd 
eaccelerator-eaccelerator-42067ac/;phpize ;./configure --enable-eaccelerator=shared --with-php-config=/usr/bin/php-config
make && make install

  • 然后在/etc/php.ini末尾加入如下代码:
extension="/usr/lib64/php/modules/eaccelerator.so"
eaccelerator.shm_size="64"
eaccelerator.cache_dir="/data/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
  • 如上参数的解释:
eaccelerator.shm_size
指定 eAccelerator 能够使用的共享内存数量,单位:MB。
"0" 代表操作系统默认,默认值为 "0",一般设置为64128
eaccelerator.cache_dir
用户磁盘缓存的目录。eAccelerator 在该目录中存储预编译代码、session 数据、内容等。相同的数据也可以存储于共享内存中(以获得更快的存取速度)。默认值为 "/tmp/eaccelerator"
eaccelerator.enable
开启或关闭 eAccelerator。"1" 为开启,"0" 为关闭。默认值为 "1"
eaccelerator.optimizer
开启或关闭内部优化器,可以提升代码执行速度。"1" 为开启,"0" 为关闭。默认值为 "1"
eaccelerator.debug
开启或关闭调试日志记录。"1" 为开启,"0" 为关闭。默认值为 "0"
eaccelerator.check_mtime
开启或关闭 PHP 文件改动检查。"1" 为开启,"0" 为关闭。如果您想要在修改后重新编译 PHP程序则需要设置为 "1"。默认值为 "1"
eaccelerator.filter
判断哪些 PHP 文件必须缓存。您可以指定缓存和不缓存的文件类型(如 "*.php *.phtml"等),如果参数以 "!" 开头,则匹配这些参数的文件被忽略缓存。默认值为 "",即,所有 PHP 文件都将被缓存。
eaccelerator.shm_max
当使用 " eaccelerator_put() " 函数时禁止其向共享内存中存储过大的文件。该参数指定允许存储的最大值,单位:字节 (10240, 10K, 1M)"0" 为不限制。默认值为 "0"
eaccelerator.shm_ttl
 eAccelerator 获取新脚本的共享内存大小失败时,它将从共享内存中删除所有在最后 "shm_ttl" 秒内无法存取的脚本缓存。默认值为 "0",即:不从共享内春中删除任何缓存文件。
eaccelerator.shm_prune_period
 eAccelerator 获取新脚本的共享内存大小失败时,他将试图从共享内存中删除早于"shm_prune_period" 秒的缓存脚本。默认值为 "0",即:不从共享内春中删除任何缓存文件。
eaccelerator.shm_only
允许或禁止将已编译脚本缓存在磁盘上。该选项对 session 数据和内容缓存无效。默认值为 "0",即:使用磁盘和共享内存进行缓存。
eaccelerator.compress
允许或禁止压缩内容缓存。默认值为 "1",即:允许压缩。
eaccelerator.compress_level
指定内容缓存的压缩等级。默认值为 "9",为最高等级。

lamp两种模式

[LAMP]Linux(Centos)LAMP环境搭建,LAMP源码安装及LAMP架构原理详解Wish_亮关注2人评论9469人阅读2018-08-2001:33:10 本章blog主要介绍了[LAMP]Linux(Centos)LAMP环境搭建,LAMP源码安装及LAMP架构原理详解,并分别部署php与apache不同组合方式... 查看详情

lamp环境搭建wordpress博客

环境选择:CentOS7.3apachemariadbphp及相关模块一、安装apache相关服务、MariaDB数据库php及相关模块yum -y install httpd mariadb mariadb-server php php-mysql php-gd php-ldap php-odbc 查看详情

lamp搭建练习(代码片段)

目录LAMP搭建1:CentOS7,lamp(module);http+php+phpMyAdmin+wordpress192.168.1.7配置虚拟主机xcachephpMyAdmin提供https虚拟主机mysql192.168.1.102:CentOS7,lamp(php-fpm)3:CentOS6,lamp(编译安装,模块或php-fpm)搭建apache/192.168.1.14(centos6)配置phpmyadmin和wordpress的虚... 查看详情

lamp搭建wordpress博客

准备工作首先,先搭建完成基础的LAMP(可参照文章:华为云主机CentOS7.3安装LAMP)环境,然后着手搭建wordpress个人博客。cd /usr/local/apache2.4/htdocsrm -rf *wget https://cn.wordpress.org/wordpress-4.8.1-zh_CN.zipunzip wordpr 查看详情

lamp-搭建wordpress个人博客discuz论坛(代码片段)

...user管理用户;4使wpuser用户对wpdb数据库拥有所有权限;5进入wordpress官网https://cn.wordpress.org下载所需安装包,此处使用的是wordpress-4.9.1-zh_CN( 查看详情

lamp平台-wordpress的搭建

...                     LAMP平台-wordpress的搭建                                              作者:尹正杰版权声明:原创作品,谢绝转载!否则... 查看详情

使用lamp环境搭建wordpress论坛

1.     搭建LAMP架构(1)     rpm搭建LAMP环境[[email protected]~]#yuminstallhttpdmysql-servermysqlphpphp-mysql -y (2)      查看详情

centos6编译安装lamp+wordpress--搭建自己的博客

CentOS6安装LAMP+Wordpress--搭建自己的博客    背景:    LAMP也就是Linux+Apache+Mysql(Mariadb)+PHP(Python...),这是个基本的网站架构,在学会了编译安装LAMP环境后,在加上Wordpress就可以搭建属于自己的博客... 查看详情

linux中搭建lamp平台及论坛服务(代码片段)

Linux搭建LAMP什么是LAMP什么是LAMP?一种成熟的动态企业网站服务模式Apache在最前端,负责接收HTTP访问请求实验环境准备已经配置好yum仓库//没有搭建的看上一篇博客配好IP地址,能够与物理机ping通关闭防火墙,SELiunx能够使用Xshell远... 查看详情

4-源码方式基于lamp架构搭建bbs论坛或者博客(代码片段)

...Apache五、编译安装PHP六、后续配置七、启动相关服务八、源码编译软件经验总结九、部署web应用排错1:排错2:排错3:大功告成!课程目标使用源码方式基于LAMP架构搭建BBS论坛或者博客本文成功搭建2个网站,一个个人博客,一... 查看详情

实现lamp,wordpress搭建个人博客

...库的安全脚本更改root密码mysql_secure_installation4,创建一个wordpress专有的数据库,并创建一个专门管理该数据库的管理员创建数据库msyql- 查看详情

lamp搭建wordpress后升级安装主题,提示输入ftp账号密码

...连接http://afterdawn.blog.51cto.com/7503144/1876171搭建完成后发现wordpress无法升级,首先使用下面的命令查看httpd进程是哪个用户启用的[[email protected] htdocs]# ps -ef|grep httpdroot &nb 查看详情

centos6.5下源码搭建lamp环境

一、准备工作-系统版本      Centos6.5已安装开发工具-所需源码包及版本      --Apache   httpd-2.2.31.tar.gz      --MySQL&nbs 查看详情

资源变现小程序源码及搭建教程

...ff1a;1.wordpres》5.02.php》7.0图文教程1.安装宝面板,安装wordpress博客程序2.宝塔后台设置wordpres伪静态,SSL证书3.wordpress后台设置----固定链接----自定义结构----postid5.wordpress后台安装星宿插件,以及pods插件,后台设置 查看详情

使用lamp(yum)架构搭建个人博客(wordpress)站点

查看系统环境#lsb_release -aLSB Version::base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarchDistributor  查看详情

centos7.3编译安装lamp环境并搭建wordpress博客

centos7.3编译安装LAMP环境并搭建WordPress博客日期:2017年8月6日软件版本:apr-1.5.2.tar.bz2apr-util-1.5.4.tar.bz2httpd-2.4.27.tar.bz2mariadb-10.2.7-linux-x86_64.tar.gzphp-7.1.7.tar.bz2wordpress-4.8-zh_CN.tar.gzxcache-3.2.0.t 查看详情

源码编译搭建lamp环境

源码编译搭建LAMP环境一:实验目标源码编译LAMP环境 二:实验环境xuegod63.cnIP:192.168.1.63 LAMP环境的概述    LAMP(Linux-Apache-MySQL-PHP)一般用来做网站架构的,是目前国际流行的Web框架,该框架包括:Linux操作系统... 查看详情

wordpress搭建安装方法及步骤(代码片段)

WordPress安装下载在官网上找到自己需要的版本如何下载切换到/soft/code目录下[root@centoswordpress]#cd/soft/code将下载的WordPress解压缩至这个目录下[root@centoscode]#tar-zxvfwordpress-5.7.1-zh_CN.tar.gz登录进入MySQL数据库[root@centoscode]#m 查看详情