lamp源码搭建详解及wordpress搭建
Posted 宝山的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lamp源码搭建详解及wordpress搭建相关的知识,希望对你有一定的参考价值。
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.4 | 192.198.10.11 |
实验步骤
Apache 源码安装
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>d{SZ6Q#;x%Q!wSI`q`Lq&s1ic<XkHt1!&mvZBXskL.H4ll[5Gfw%=Z6'); define('SECURE_AUTH_KEY', '+W}ga5|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`K{mF=v~3^@BQ3h2'); define('NONCE_KEY', 'rL7T3R>V.Gg#zwV?2X{gSce?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",一般设置为64或128。
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源码搭建详解及wordpress搭建的主要内容,如果未能解决你的问题,请参考以下文章
Web服务器群集——源码部署搭建LAMP平台上线wordpress博客上线
使用Aliyun阿里云ECS云服务器及宝塔安装LAMP环境并搭建WordPress博客