目录
一、简介
LAMP 是指Linux(操作系统)+ Apache (HTTP 服务器)+ MySQL(数据库)和 PHP(网络编程语言),一般用来建立 web 应用平台。和 Java/J2EE 架构相比, LAMP 具有 Web 资源丰富、轻量、快速开发等特点;与微软的 .NET 架构相比,LAMP具有通用、跨平台、高性能、低价格的优势。因此 LAMP 无论是性能、质量还是价格都是企业搭建网站的首选平台。
Linux 是一种自由和开发源代码的类 UNIX 操作系统,目前运用最广泛使用人数最多的操作系统。本实验为大家提供的就是Linux 操作系统。
Apache 是LAMP架构最核心的 Web Server,开源、稳定、模块丰富是 Apache 的优势。但 Apache 的缺点是有些臃肿,内存和 CPU 开销大,性能上有损耗,不如一些轻量级的 Web 服务(例如 nginx)高效,轻量级的 Web 服务器对于静态文件的响应能力来说远高于 Apache 服务器。Apache 做为 Web Server 是负载 PHP 的最佳选择,如果流量很大的话,可以采用 nginx 来负载非 PHP的Web 请求。
PHP 是一种通用开源脚本语言。语法吸收了 C 语言、Java 和 Per1 的特点,利于学习,使用广泛,主要适用于 Web 开发领域。PHP 独特的语法混合了 C、Java、Perl以及 PHP 自创的语法。它可以比 CGI 或者 Perl 更快速地执行动态网页。用 PHP 做出的动态页面与其他的编程语言相比,PHP 是将程序嵌入到 HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成 HTML 标记的 CGI 要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
MySQL 在开源数据库中,性能、稳定性和功能上是首选,可以达到百万级别的数据存储,网站初期可以将 MySQL 和 Web 服务器放在一起,但是当访问量达到一定规模后,应该将 MySQL 数据库从 Web Server 上独立出来,在单独的服务器上运行,同时保持 Web Server 和 MySQL 服务器的稳定连接。
二、实验环境
IP/主机名 | 部署服务 |
192.168.100.1/lamp.local | Apache、Mysql、PHP |
192.168.100.2/nginx.local | Nginx |
三、 搭建 LAMP,实现处理动态资源
[root@lamp ~]# yum -y install httpd httpd-devel mariadb mariadb-server mariadb-devel php php-devel php-mysql
[root@lamp ~]# vim /etc/httpd/conf/httpd.conf
[root@lamp ~]# systemctl start httpd
[root@lamp ~]# systemctl start mariadb.service
[root@lamp ~]# systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[root@lamp ~]# mysql_secure_installation
[root@lamp ~]# vim /var/www/html/test.php
<?php
$link=mysql_connect('127.0.0.1','root','123123');
if($link) echo "数据库连接成功!";
mysql_close();
?>
客户端测试:
四、搭建 Nginx,实现静态资源
1.源码包编译安装 Nginx(如果没源,可以去下载阿里源以及epel源,然后进行下载)
[root@nginx ~]# yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ autoconf automake make
[root@nginx ~]# wget http://nginx.org/download/nginx-1.22.0.tar.gz
[root@nginx ~]# useradd -M -s /sbin/nologin nginx
[root@nginx ~]# tar -xvf nginx-1.22.0.tar.gz -C /usr/src/
[root@nginx-server ~]# cd /usr/src/nginx-1.22.0/
[root@nginx-server ~]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx &&make &&make install
[root@nginx nginx]# vim /usr/local/nginx/conf/nginx.conf
[root@nginx nginx]# echo "<h1>nginx<h1>" >/usr/local/nginx/html/index.html
[root@nginx nginx]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@nginx nginx]# /usr/local/nginx/sbin/nginx
lamp节点:(添加一行)
[root@lamp ~]# vim /var/www/html/test.php
<?php
$link=mysql_connect('127.0.0.1','root','123123');
if($link) echo "数据库连接成功!";
mysql_close();
?>
<img src="http://192.168.100.2/123.jpg" />
nginx节点:(上传图片到指定位置)
测试:访问192.168.100.1/test.php