LAMP是Linux、Apache、Mysql or Mariadb、PHP的简称,是公司搭建网站开源方案的的最佳选择,尤其对于初创公司,可以快速、成本低的方案布置自已的网站开展业务。
WEB资源类型
静态资源:原始形式与响应内容一致的,在客户端浏览器执行
动态资源:原始形式通常为程序文件(如PHP),需要在服务器端执行后,将执行结果返回给客户端。
WEB相关语言
客户端技术:html, javascript
服务器端技术:php, jsp, python, asp
由于客户端浏览器种类繁杂,服务器端的开发语言众多,考虑到兼容性的问题,CGI由此诞生,顾名思义,Common Gateway Interface,可以让一个客户端,从网页浏览器通过http服务器向执行在网络服务器上的程序传输数据,CGI描述了客户端和服务器程序之间传输的一种标准。
请求流程如下:
Client -- (httpd) --> httpd -- (CGI) --> application server (program file) -- (mysql) --> mysql
LAMP工作原理
- 当客户端请求静态资源时,WEB服务器会直接把静态资源从磁盘或内存中读取并返回给客户端
- 当客户端请求动态资源时,httpd的PHP模块会进行相应的动态资源运算,如果此过程还需要数据库的数据作为运算参数时,php会连接mysql取得数据然后进行运算,运算的结果转为静态资源由WEB服务器返回到客户端
具体各个部件的功能: - httpd:接收用户的web请求;静态资源则直接响应;动态资源为php脚本,对此类资源的请求将交由php来运行
- PHP:运行php程序
- MariaDB:数据管理系统
快速部署LAMP
CentOS6: httpd, php, php-mysql, mysql-server
一. 检查云主机的配置
[root@CentOS6 ~]# free -m
total used free shared buffers cached
Mem: 482 405 76 0 38 280
-/+ buffers/cache: 86 396
由于购买的云主机内存只有512M,同时此云主机的主要目的是搭建自己的技术博客,本着节省开支的出发点,采用文件方式扩展swap,来达到扩容内存的目的。具体步骤:
dd if=/dev/zero of=/swapfile bs=1K count= 4096
vim /etc/fstab
/swapfile swap swap defaults 0 0
swapon -a 启用新加的swap
检查以确保生效:
[root@CentOS6 ~]# free
total used free shared buffers cached
Mem: 494448 414236 80212 276 39532 287740
-/+ buffers/cache: 86964 407484
Swap: 4092 0 4092
二. 安装LAMP
yum install httpd, php, mysql-server, php-mysql
service httpd start
service mysqld start
三. 布置wordpress
- 登录https://cn.wordpress.org/txt-download/,查看对服务器的基本要求
服务器环境要求:
PHP 5.2.4或更新版本
MySQL 5.0或更新版本
Apache mod_rewrite模块(可选,用于支持“固定链接”和“站点网络”功能) - 查看服务器的PHP和MySQL版本
rpm -qi php
Version : 5.3.3
rpm -qi mysql
Version : 5.1.73
结论:满足wordpress安装要求 - 解压缩WordPress博客程序到网页站点目录下
tar xvf wordpress-4.9.4-zh_CN.tar.gz -C /var/www/html/ - 新建wpdb库和wpuser用户
mysql> create database wpdb;
mysql> grant all privileges on wpdb.* to wpuser@'%' identified by "wppass";
cp wp-config-sample.php wp-config.php
更改DB配置
define('DB_NAME', 'wpdb');
/** MySQL数据库用户名 */
define('DB_USER', 'wpuser');
/** MySQL数据库密码 */
define('DB_PASSWORD', 'wppass');
- 打开http://webserver/wordpress进行页面安装
http://45.77.76.233/wordpress