LAMP平台部署及应用

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
全局流量管理 GTM,标准版 1个月
简介: LAMP是指一组通常一起使用来运行动态网站​或者服务器的自由软件名称首字母缩写。

📝理论讲解:


LAMP架构

LAMP平台是协同工作的一整套系统和相关软件,能够提供动态Wen站点服务以及应用开发环境,是目前最为成熟也是比较传统的一种企业网站应用模式


构成组件:

Linux系统: LAMP架构的基础,提供用于支撑Web站点的操作系统

Apache网站服务: LAMP架构的前端,向用户提供网站服务、发送网页、图片等文件内容

MySQL数据库服务: LAMP架构的后端,存储各种账号信息、产品信息、客户资料、业务数据等,其他程序可以通过SQL语句进行查询、更改

PHP/Perl/Python编程语言: 负责解释动态网页文件,提供Web应用程序开发和运行环境


LAMP服务平台的优势:

成本低廉: 开源,可快速获得免费使用

可定制: 拥有大量的额外组件和扩展功能模块,可以根据需要定制或者自行开发添加新功能

易于开发: 代码简洁,与HTML语言结合度高,容易修改网页代码

方便易用: PHP、Perl属于解释性语言,开发的程序不需要编译,可以直接移植使用

安全和稳定: 开源优势,发现问题能够很快解决


📖实验配置与实现:


一、安装依赖程序


1)挂载系统光盘

[root@centos01 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@centos01 ~]# ls /mnt/
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL


2)删除系统自带的yum仓库

[root@centos01 ~]# rm -rf /etc/yum.repos.d/CentOS-*     //删除系统自带的yum仓库
[root@centos01 ~]# ls /etc/yum.repos.d/           //查看是否删除成功
local.repo


3)安装依赖程序


yum -y install cmake ncurses-devel zlib-devel libxml2-devel


c17dac99474ab713cfd2463a2398246.png


4)创建管理Mysql组和账户

[root@centos01 ~]# groupadd mysql
[root@centos01 ~]# useradd -M -s /sbin/nologin -g mysql mysql


二、安装Apache


1)挂载LAMP光盘

dc9ab72ec8afc0f8f511ea81724d5f5.png


[root@centos01 ~]# umount /mnt/         //卸载系统光盘
[root@centos01 ~]# ls /mnt/           //查看是否卸载成功
[root@centos01 ~]# mount /dev/cdrom /mnt/   //挂载LAMP光盘
mount: /dev/sr0 写保护,将以只读方式挂载
[root@centos01 ~]# ls /mnt/           //查看是否挂载成功
cmake-2.8.6.tar.gz      mysql-5.5.22.tar.gz
httpd-2.2.17.tar.gz     php-5.3.28.tar.gz
libmcrypt-2.5.8.tar.gz  phpmyadmin-3.3.10-all-languages.tar.gz
mcrypt-2.6.8.tar.gz     zendguardloader-php-5.3-linux-glibc23-i386.tar.gz
mhash-0.9.9.9.tar.gz

2)解压Apache

[root@centos01 ~]# tar zxf /mnt/httpd-2.2.17.tar.gz -C /usr/src/  //解压httpd程序到/usr/src/
[root@centos01 ~]# cd /usr/src/httpd-2.2.17/            //切换到httpd目录
[root@centos01 httpd-2.2.17]#

3)配置Apache

[root@centos01 httpd-2.2.17]# ./configure --prefix=/usr/local/httpd --enable-so --enable-chrset-lite --enable-cgi --enable-rewrite

4)安装Apache

[root@centos01 httpd-2.2.17]# make && make install

5)优化命令

[root@centos01 httpd-2.2.17]# ln -s /usr/local/httpd/bin/* /usr/local/bin/

6)生成服务控制文件

[root@centos01 httpd-2.2.17]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@centos01 httpd-2.2.17]# chmod +x /etc/init.d/httpd    //添加权限
[root@centos01 httpd-2.2.17]# ls -ld /etc/init.d/httpd      //查看
-rwxr-xr-x 1 root root 3422 12月  5 23:14 /etc/init.d/httpd

7)修改服务控制文件

[root@centos01 httpd-2.2.17]# vim /etc/init.d/httpd 
---
#!/bin/sh
#chkconfig:35 80 21
#description:Apache Server

8)添加系统服务设置开机自动启动

[root@centos01 httpd-2.2.17]# chkconfig --add httpd
[root@centos01 httpd-2.2.17]# chkconfig --level 35 httpd on

9)检查服务配置文件

[root@centos01 ~]# httpd -t
httpd: Could not reliably determine the server's fully qualified domain name, using fe80::20c:29ff:fe25:91b5 for ServerName
Syntax OK

三、安装配置Mysql


1)解压mysql

[root@centos01 ~]# tar zxf /mnt/mysql-5.5.22.tar.gz -C /usr/src/
[root@centos01 ~]# cd /usr/src/mysql-5.5.22/
[root@centos01 mysql-5.5.22]#

2)配置MySQL

[root@centos01 mysql-5.5.22]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DSYSCONFDIR=/etc -DWITH_EXTRA_CHARSETS=all

3)编译安装MySQL

[root@centos01 mysql-5.5.22]# make && make install

4)修改目录所有者

[root@centos01 mysql-5.5.22]# chown -R mysql:mysql /usr/local/mysql/

5)生成服务配置文件

[root@centos01 mysql-5.5.22]# cp support-files/my-medium.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y

6)生成服务控制文件添加执行权限

[root@centos01 mysql-5.5.22]# cp support-files/mysql.server /etc/init.d/mysqld
[root@centos01 mysql-5.5.22]# chmod +x /etc/init.d/mysqld       //添加执行权限

7)添加系统服务设置开机自动启动

[root@centos01 mysql-5.5.22]# chkconfig --add mysqld
[root@centos01 mysql-5.5.22]# chkconfig --level 35 mysqld on

8)优化MySQL命令

[root@centos01 mysql-5.5.22]# echo "PATH=$PATH:/usr/local/mysql/bin/" >> /etc/profile
[root@centos01 mysql-5.5.22]# source /etc/profile

9)初始化MySQL命令

[root@centos01 mysql-5.5.22]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/

10)启动MySQL服务

[root@centos01 mysql-5.5.22]# systemctl restart mysqld
[root@centos01 mysql-5.5.22]# netstat -anptu | grep mysqld
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      64732/mysqld

11)MySQL系统设置密码

[root@centos01 mysql-5.5.22]# mysqladmin -uroot password
New password: 
Confirm new password:

12)登录MySQL

[root@centos01 ~]# mysql -uroot -ppwd@123
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.5.22-log Source distribution
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> exit
Bye


四、安装php


1)安装php依赖libmcrypt

[root@centos01 ~]# tar zxf /mnt/libmcrypt-2.5.8.tar.gz -C /usr/src/     //解压
[root@centos01 ~]# cd /usr/src/libmcrypt-2.5.8/               //切换目录
[root@centos01 libmcrypt-2.5.8]# ./configure && make && make install    //编译安装
[root@centos01 libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib/   //优化命令
[root@centos01 libmcrypt-2.5.8]# cd

2)安装php依赖mhash

[root@centos01 ~]# tar zxf /mnt/mhash-0.9.9.9.tar.gz -C /usr/src/
[root@centos01 ~]# cd /usr/src/mhash-0.9.9.9/
[root@centos01 mhash-0.9.9.9]# ./configure && make && make install
[root@centos01 mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash.* /usr/lib
[root@centos01 mhash-0.9.9.9]# cd

3)安装php依赖mcrypt

[root@centos01 ~]# tar zxf /mnt/mcrypt-2.6.8.tar.gz -C /usr/src/
[root@centos01 ~]# cd /usr/src/mcrypt-2.6.8/
[root@centos01 mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib
[root@centos01 mcrypt-2.6.8]# ./configure && make && make install

4)配置php

[root@centos01 ~]# tar zxf /mnt/php-5.3.28.tar.gz -C /usr/src/
cd[root@centos01 ~]# cd /usr/src/php-5.3.28/
[root@centos01 php-5.3.28]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring

3b3e78a5b49f40cc7a31edeec135e67.png


5)编译安装php

[root@centos01 php-5.3.28]# make && make install

6)生成php配置文件

[root@centos01 php-5.3.28]# cp php.ini-production /usr/local/php/php.ini
[root@centos01 php-5.3.28]# cd

7)修改php主配置文件

[root@centos01 ~]# vim /usr/local/php/php.ini 
---
227 short_open_tag = On     //支持php
786 default_charset = "utf-8" //支持中文和英文

f111a22999a05f991da691c10f7226a.pngd94b4194d9e4e21c4e46769ab5234e8.png


五、配置php使用Zend加速


1)解压

[root@centos01 ~]# tar zxf /mnt/zendguardloader-php-5.3-linux-glibc23-i386.tar.gz -C /usr/src/      //解压到/usr/src目录
[root@centos01 ~]# cd /usr/src/ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x/        //切换到php-5.3.x目录
[root@centos01 php-5.3.x]#

2)移动zend到php配置文件中

[root@centos01 php-5.3.x]# cp ZendGuardLoader.so /usr/local/php/lib/php/
[root@centos01 php-5.3.x]# cd

3)配置php加载zend加速

[root@centos01 ~]# vim /usr/local/php/php.ini
---
[PHP]
zend_extension= /usr/local/php/lib/php/ZendGuardLoader.so
zend_loader.enable=1


3b9593cd7ae94aef3e2852d5024f534.png


六、php和Apache协同工作


1)修改Apache配置文件

[root@centos01 ~]# vim /usr/local/httpd/conf/httpd.conf
---
53 LoadModule php5_module        modules/libphp5.so
166 <IfModule dir_module>
167     DirectoryIndex index.html index.php
168 </IfModule>
310     AddType application/x-httpd-php .php

ee4964eca5508a45bead22b9fe09319.pngb54120756d3e0b9b30550289a5aca40.png


2)写php测试文件

[root@centos01 ~]# vim /usr/local/httpd/htdocs/index.php
---
<?php
        phpinfo();
?>

22789f3ded3fcee0d89d754f55be7b1.png


3)重启Apache服务

[root@centos01 ~]# systemctl restart httpd


七、安装phpMyadmin系统


1)清除Apache跟目录数据

[root@centos01 ~]# rm -rf /usr/local/httpd/htdocs/*

2)解压安装phpMyadmin

[root@centos01 ~]# tar zxf /mnt/phpmyadmin-3.3.10-all-languages.tar.gz -C /usr/src/
[root@centos01 ~]# mv /usr/src/phpMyAdmin-3.3.10-all-languages/* /usr/local/httpd/htdocs/

3)生成配置文件3)生成配置文件

cp /usr/local/httpd/htdocs/config.sample.inc.php /usr/local/httpd/htdocs/config.inc.php


八、安装DNS


1)挂载系统光盘


[root@centos02 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@centos02 ~]# ls /mnt/
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL

2)安装DNS服务

[root@centos02 ~]# rpm -ivh /mnt/Packages/bind-9.9.4-50.el7.x86_64.rpm 
[root@centos02 ~]# rpm -ivh /mnt/Packages/bind-chroot-9.9.4-50.el7.x86_64.rpm

3)设置开机自启

[root@centos02 ~]# systemctl enable named

4)备份主配置文件避免修改错误源文件丢失

[root@centos02 ~]# cp /etc/named.conf /etc/named.conf.bak
[root@centos02 ~]# echo "" > /etc/named.conf
[root@centos02 ~]# cat /etc/named.conf
[root@centos02 ~]#

5)修改主配置

vim /etc/named.conf 
---
options {
        listen-on port 53 { 192.168.100.20; };
        directory "/var/named"; 
};      
zone "ljm.com" IN {
        type master; 
        file "/var/named/ljm.com.zone";
};

59a9e98319a57a993531651528d191d.png


6)修改区域配置文件

[root@centos02 ~]# vim /var/named/ljm.com.zone
---
$TTL            86400
@               SOA             ljm.com. root.ljm.com. (
                2022120510
                1H
                15M
                1W
                1D
)
@               NS              centos02.ljm.com.
centos02        A               192.168.100.20
www             A               192.168.100.10


6cda67970c59fa1c22c06cdaf233d3b.png


7)为Centos01、02、03配置DNS

Centos01:(DNS指向DNS服务器的IP地址)

[root@centos01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32
---
TYPE=Ethernet
BOOTPROTO=static
NAME=ens32
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.100.10
NETMASK=255.255.255.0
DNS1=192.168.100.20
[root@centos01 ~]# systemctl restart network    //重新启动网卡服务

Centos02:(因为Centos02是DNS服务器所有DNS指向自己的IP地址)

[root@centos02 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32
---
TYPE=Ethernet
BOOTPROTO=static
NAME=ens32
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.100.20
NETMASK=255.255.255.0
DNS1=192.168.100.20
[root@centos01 ~]# systemctl restart network    //重新启动网卡服务

Centos03:(Centos03作为客户端验证使用,如果使用win10验证就在win10客户端配置IP地址,DNS指向DNS服务器的IP地址)

[root@centos02 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32
---
TYPE=Ethernet
BOOTPROTO=static
NAME=ens32
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.100.30
NETMASK=255.255.255.0
DNS1=192.168.100.20

8)启动DNS服务器

[root@centos02 ~]# systemctl restart named

9)测试DNS是否能够正常解析

[root@centos02 ~]# nslookup www.ljm.com
Server:   192.168.100.20
Address:  192.168.100.20#53
Name: www.ljm.com
Address: 192.168.100.10

10)验证(开一台Linux或着win10都行)

a3e8e8aa8925978ba04680e8ef578e9.png

注:默认为数据库的账户名密码(如果MySQL没有设置密码就为空)

a48e6f935f556a19e9f7649d14a6d53.png



相关文章
|
SQL 关系型数据库 MySQL
LAMP平台部署及应用
LAMP平台部署及应用
120 0
|
关系型数据库 MySQL PHP
搭建lamp平台
搭建lamp平台
|
关系型数据库 MySQL PHP
部署LAMP平台(二)
部署LAMP平台(二)
部署LAMP平台(二)
|
存储 关系型数据库 MySQL
|
安全 关系型数据库 MySQL
LAMP平台服务简介、部署及应用
LAMP平台服务简介、部署及应用
415 0
LAMP平台服务简介、部署及应用
|
弹性计算 关系型数据库 MySQL
快速搭建LAMP环境
CentOS 7.7的ECS实例(云服务器)。通过本教程的操作,您可以基于ECS实例快速搭建一套LAMP环境。
359 0
快速搭建LAMP环境
|
弹性计算 关系型数据库 MySQL
Day6-快速搭建LAMP环境
阿里云云服务器ecs第6天打卡
Day6-快速搭建LAMP环境
|
关系型数据库 MySQL Apache
搭建LAMP环境
新手一起来学啊!!!
385 0
搭建LAMP环境
|
关系型数据库 MySQL 数据库
|
弹性计算 关系型数据库 MySQL