EASY!部署LAMP平台

LAMP 架构
LAMP 架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和
相关软件,能够提供动态 Web 站点服务及其应用开发环境。LAMP 是一个缩写词,具
体包括 Linux 操作系统、Apache 网站服务器、MySQL 数据库服务器、PHP(或 Perl、
Python)网页编程语言。本章将以源码编译的方式搭建 LAMP 环境,能够满足企业定
制化的需求。
在构建 LAMP 平台时,各组件的安装顺序依次为 Linux、Apache、MySQL、PHP。
其中 Apache 和 MySQL 的安装并没有严格的顺序;而 PHP 环境的安装一般放到最后,
负责沟通 Web 服务器和数据库系统以协同工作。
Apache 的主要特点
1、开放源代码:这是 Apache 服务器的重要特性之一,也是其他特性的基础。
Apache 服务程序由全世界的众多开发者共同维护,并且任何人都可以自由使
用,这充分体现了开源软件的精神。
2、跨平台应用:这个特性得益于 Apache 的源代码开放。Apache 服务器可以运
行在绝大多数软硬件平台上,所有 UNIX 操作系统都可以运行 Apache 服务
器,甚至 Apache 服务器可以良好地运行在大多数 Windows 系统平台中。
Apache 服务器的跨平台特性使其具有被广泛应用的条件。
3、支持各种Web 编程语言:Apache服务器可支持的网页编程语言包括Perl、PHP、
Python、Java 等,甚至微软的 ASP 技术也可以在 Apache 服务器中使用。支
持各种常用的 Web 编程语言使 Apache 具有更广泛的应用领域。

4、模块化设计:Apache 并没有将所有的功能集中在单一的服务程序内部,而是
尽可能地通过标准的模块实现专有的功能,这为 Apache 服务器带来了良好的
扩展性。其他软件开发商可以编写标准的模块程序,从而添加 Apache 本身
并不具有的其他功能。
5、运行非常稳定:Apache 服务器可用于构建具有大负载访问量的 Web 站点,很
多知名的企业网站都使用 Apache 作为 Web 服务软件。
6、良好的安全性:Apache 服务器具有相对较好的安全性,这是开源软件共同具
有的特性。并且,Apache 的维护团队会及时对已发现的漏洞提供修补程序,
为 Apache 的所有使用者提供尽可能安全的服务器程序。

安装Apache所需软件
apr-1.6.2.tar.gz
apr-util-1.6.0.tar.gz
httpd-2.4.29.tar.gz
将上面3个包传到opt目录下
[root@localhost ~]# cd /opt
[root@localhost opt]# tar xf apr-1.6.2.tar.gz
[root@localhost opt]# tar xf apr-util-1.6.0.tar.gz
[root@localhost opt]# tar xf httpd-2.4.29.tar.bz2上述
对三个包进行解压缩
[root@localhost opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
安装环境
[root@localhost opt]yum -y install
gcc
gcc-c++
make
pcre-devel
expat-devel
perl
[root@localhost opt]# cd /opt/httpd-2.4.29/
./configure
–prefix=/usr/local/httpd \ #指定安装路径
–enable-so \ #开启核心功能模块
–enable-rewrite \ #支持重写模块,用于网站优化及目录迁移维护
–enable-charset-lite \ #支持字符集
–enable-cgi #通用网关接口,CGI 脚本程序支持,便于扩展网站的应用访问能力。
编译及安装
[root@localhost opt]#make && make install
优化执行路径
ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/
httpd -v ###查看下HTTP版本

添加 httpd 系统服务
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
vi /etc/init.d/httpd
chkconfig: 35 85 21 //35级别自动运行 第85个启动 第21个关闭
description: Apache is a World Wide Web server
chkconfig --add httpd ###添加为系统服务
chkconfig --list httpd ###查看http服务自启状态 该输出结果只显示Sysv服务,
并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖
[root@localhost system]# systemctl start httpd.service
[root@localhost system]# systemctl enable httpd.service ###开机自启http
[root@localhost system]# systemctl is-enabled httpd.service ###检查HTTP单元是否启动
httpd.conf修改配置文件
vi /usr/local/httpd/conf/httpd.conf
ServerName www.wuhulahu.top:80 ###更改下
systemctl restart httpd####重启httpd服务
用系统的浏览器验证
netstat -anpt | grep 80
验证成功
(注意,网页默认显示内容为:/usr/local/httpd/htdocs/index.html)

安装mysql
上传mysql-boost-5.7.20.tar.gz到opt目录下
[root@localhost system]#yum -y install
ncurses
ncurses-devel
bison
cmake
[root@localhost system]#useradd -s /sbin/nologin mysql ###添加程序账户不允许其他账户登录
[root@localhost system]#cd /opt
[root@localhost system]#tar xf mysql-boost-5.7.20.tar.gz
[root@localhost system]#cd /opt/mysql-5.7.20/
[root@localhost system]#cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock
-DSYSCONFDIR=/etc
-DSYSTEMD_PID_DIR=/usr/local/mysql
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
-DMYSQL_DATADIR=/usr/local/mysql/data
-DWITH_BOOST=boost
-DWITH_SYSTEMD=1
配置选项含义
1、DCMAKE_INSTALL_PREFIX:指定将 mysql 数据库程序安装到某目录下,
如目录/usr/local/ mysql。
2、DSYSCONFDIR:指定初始化参数文件目录
3、DDEFAULT_CHARSET:指定默认使用的字符集编码,如 utf8。
4、DDEFAULT_COLLATION:指定默认使用的字符集校对规则,utf8_general_ci
是适用于 UTF-8 字符集的通用规则。
5、DWITH_EXTRA_CHARSETS:指定额外支持的其他字符集编码。
编译安装
[root@localhost system]#make && make install
数据库目录进行权限调整
chown -R mysql:mysql /usr/local/mysql/
建立调整配置文件
[root@localhost opt]#vi /etc/my.cnf
[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock
[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

[root@localhost system]# chown mysql:mysql /etc/my.cnf
设置环境变量
[root@localhost opt]#echo ‘PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH’ >> /etc/profile
[root@localhost opt]#echo ‘export PATH’ >> /etc/profile
[root@localhost opt]#source /etc/profile
[root@localhost opt]#cd /usr/local/mysql/

bin/mysqld
–initialize-insecure
–user=mysql
–basedir=/usr/local/mysql
–datadir=/usr/local/mysql/data
mysqladmin -u root -p password “abc123” //刚开始没密码是空的直接回车,然后输入密码abc123,在此确认abc123,这是在root账户下运行的
安装PHP环境
[root@localhost opt]#yum -y install
libjpeg
libjpeg-devel
libpng libpng-devel
freetype freetype-devel
libxml2
libxml2-devel
zlib zlib-devel
curl curl-devel
openssl openssl-devel
上传php-7.1.10.tar.bz2包到opt目录下
[root@localhost opt]#tar xjvf php-7.1.10.tar.bz2
[root@localhost opt]#cd php-7.1.10
[root@localhost opt]#./configure
–prefix=/usr/local/php
–with-apxs2=/usr/local/httpd/bin/apxs
–with-mysql-sock=/usr/local/mysql/mysql.sock
–with-mysqli
–with-zlib
–with-curl
–with-gd
–with-jpeg-dir
–with-png-dir
–with-freetype-dir
–with-openssl
–enable-mbstring
–enable-xml
–enable-session
–enable-ftp
–enable-pdo
–enable-tokenizer
–enable-zip
[root@localhost opt]#make && make install
[root@localhost opt]#cp php.ini-development /usr/local/php/lib/php.ini
[root@localhost opt]#vi /usr/local/php/lib/php.ini
mysqli.default_socket = /usr/local/mysql/mysql.sock
date.timezone = Asia/Shanghai
[root@localhost opt]#
/usr/local/php/bin/php -m //验证安装的模块
[root@localhost opt]#vi /etc/httpd.conf //在合适位置新增
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
[root@localhost opt]#rm -f /usr/local/httpd/htdocs/index.html
[root@localhost opt]#vi /usr/local/httpd/htdocs/index.php

<?php phpinfo(); ?>

[root@localhost opt]#systemctl restart httpd
[root@localhost opt]#mysql -u root -p
CREATE DATABASE myadm;
GRANT all ON myadm.* TO ‘myadm’@’%’ IDENTIFIED BY ‘admin123’;
GRANT all ON myadm.* TO ‘myadm’@‘localhost’ IDENTIFIED BY ‘admin123’;
flush privileges;
vi /usr/local/httpd/htdocs/index.php

<?php $link=mysqli_connect('192.168.32.21','myadm','admin123'); if($link) echo "

Success!!

"; else echo "Fail!!"; ?>

完成后在浏览器上测试一下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值