部署 LAMP
部署 LAMP
https://help.aliyun.com/document_detail/50774.html?spm=a2c4g.11186623.6.773.Em8xVc
文档提供方:上海驻云信息科技有限公司 更新时间:2017-11-03 16:59:36
简介
LAMP 指 Linux+Apache+MySQL/MariaDB+Perl/PHP/Python,是一组常用来搭建动态网站或者服务器的开源软件。它们本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的 Web 应用程序平台。
部署方式
您可以使用三种方式在云服务器 ECS 上部署 LAMP:
- 镜像部署:方便快捷,适合不太了解 Linux 命令的用户。
- 一键安装包部署:适合对 Linux 命令有基本了解的用户。
- 手动部署:可以满足用户个性化部署需求,适合对 Linux 命令有基本了解的用户。
本文介绍如何在云服务器 ECS 上手动部署 LAMP。
软件版本说明
本文操作的镜像和软件版本说明如下 :
- 操作系统:CentOS 7.2 64 位
- Apache:2.4.23
- MySQL:5.7.17
- PHP:7.0.12
前提条件
在部署之前,需要确认:
实例所在安全组已经 放行了服务所需的端口:
服务 SSH HTTP MySQL 端口 TCP 22 TCP 80 TCP 3306
准备工作
设置防火墙
CentOS 7.2 系统默认开启防火墙 firewalld。您可以关闭 firewalld 放行 80、22 等端口。
说明:您也可以参考 firewalld 官方文档 在防火墙里放行这些端口。
运行命令关闭防火墙。
systemctl stop firewalld.service
运行命令关闭防火墙开机自启动。
systemctl disable firewalld.service
安装 vim 和 unzip
下载软件用于编辑和解压缩文件。运行命令:
yum install -y vim unzip
操作步骤
按以下描述部署 LAMP。
编译安装 Apache
运行命令安装相关依赖包。
yum install -y gcc gcc-c++ autoconf libtool
依次运行以下命令安装 apr。
cd /usr/local/src/wget http://oss.aliyuncs.com/aliyunecs/onekey/apache/apr-1.5.0.tar.gztar zxvf apr-1.5.0.tar.gzcd apr-1.5.0./configure --prefix=/usr/local/aprmake && make install
依次运行以下命令安装 apr-util。
cd /usr/local/src/wget http://oss.aliyuncs.com/aliyunecs/onekey/apache/apr-util-1.5.3.tar.gztar zxvf apr-util-1.5.3.tar.gzcd apr-util-1.5.3./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/aprmake && make install
依次运行以下命令安装 pcre。
cd /usr/local/src/wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/pcre/pcre-8.38.tar.gztar zxvf pcre-8.38.tar.gzcd pcre-8.38./configure --prefix=/usr/local/pcremake && make install
依次运行以下命令编译安装 Apache。
cd /usr/local/src/wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/apache/httpd-2.4.23.tar.gztar zxvf httpd-2.4.23.tar.gzcd httpd-2.4.23./configure \--prefix=/usr/local/apache --sysconfdir=/etc/httpd \--enable-so --enable-cgi --enable-rewrite \--with-zlib --with-pcre=/usr/local/pcre \--with-apr=/usr/local/apr \--with-apr-util=/usr/local/apr-util \--enable-mods-shared=most --enable-mpms-shared=all \--with-mpm=eventmake && make install
修改 httpd.conf 配置文件参数:
- 运行
cd /etc/httpd/切换到 /etc/httpd/ 目录。 - 运行
vim httpd.conf打开 httpd.conf 文件,按i键进入编辑模式。 - 找到 Directory 参数,注释掉
Require all denied,并添加Require all granted。
- 找到 ServerName 参数,添加
ServerName localhost:80。
- 设置 PidFile 路径:在文件最后添加
PidFile "/var/run/httpd.pid"。 - 按
Esc键退出编辑模式,输入:wq保存并关闭 httpd.conf 文件。
- 运行
依次执行以下命令启动 Apache 服务并验证。
cd /usr/local/apache/bin/./apachectl startnetstat -tnlp #查看服务是否开启
如果返回以下结果,说明 Apache 服务已经成功启动。

在本地机器的浏览器中输入 ECS 实例公网 IP 地址,如果出现如图所示信息,说明 Apache 服务安装成功。
设置开机自启动。
- 运行
vim /etc/rc.d/rc.local打开 rc.local 文件,按i进入编辑模式。 - 添加
/usr/local/apache/bin/apachectl start。
- 按
Esc键退出编辑模式,输入:wq保存并关闭 rc.local 文件。
- 运行
设置环境变量。
- 运行
vi /root/.bash_profile打开文件,按i进入编辑模式。 - 将
PATH=$PATH:$HOME/bin修改为PATH=$PATH:$HOME/bin:/usr/local/apache/bin。 - 按
Esc键退出编辑模式,输入:wq保存并关闭文件。 - 运行
source /root/.bash_profile重新执行文件。
- 运行
编译安装 MySQL
依次执行以下命令检查系统中是否存在使用 rpm 安装的 MySQL 或者 MariaDB。
rpm -qa | grep mysqlrpm -qa | grep mariadb
如果已经安装,则运行以下任一个命令删除。
rpm -e 软件名 #注意:这里的软件名必须包含软件的版本信息,如rpm -e mariadb-libs-5.5.52-1.el7.x86_64。一般使用此命令即可卸载成功。rpm -e --nodeps 软件名 #卸载不成功时使用此命令强制卸载
卸载后,再用
rpm -qa|grep mariadb或者rpm -qa|grep mysql查看结果。依次运行以下命令安装 MySQL。
yum install -y libaio-* #安装依赖mkdir -p /usr/local/mysqlcd /usr/local/srcwget http://zy-res.oss-cn-hangzhou.aliyuncs.com/mysql/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gztar -xzvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gzmv mysql-5.7.17-linux-glibc2.5-x86_64/* /usr/local/mysql/
依次运行以下命令建立 mysql 组和用户,并将 mysql 用户添加到 mysql 组。
groupadd mysqluseradd -g mysql -s /sbin/nologin mysql
运行命令初始化 MySQL 数据库。
/usr/local/mysql/bin/mysqld --initialize-insecure --datadir=/usr/local/mysql/data/ --user=mysql
更改 mysql 安装目录的属性:
chown -R mysql:mysql /usr/local/mysql。依次运行以下命令设置开机自启动。
cd /usr/local/mysql/support-files/cp mysql.server /etc/init.d/mysqldchmod +x /etc/init.d/mysqld # 添加执行权限vim /etc/rc.d/rc.local
在 rc.local 文件中添加
/etc/init.d/mysqld start。设置环境变量。
运行
vi /root/.bash_profile打开文件,按i进入编辑模式。将
PATH=$PATH:$HOME/bin:/usr/local/apache/bin修改为PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib。说明:此处是在编译安装 Apache的环境变量的基础上再进行修改。
按
Esc键退出编辑模式,输入:wq保存并关闭文件。运行
source /root/.bash_profile重新执行文件。
启动 MySQL 数据库。
/etc/init.d/mysqld start
出现如下截图所示信息,表示 MySQL 启动成功。

修改 MySQL 的 root 用户密码:初始化后 MySQL 为空密码可直接登录,为了保证安全性需要修改 MySQL 的 root 用户密码。
mysqladmin -u root password 密码
测试登录 MySQL 数据库。
mysql -uroot -p密码 #-p和密码之间无空格

编译安装 PHP
依次运行以下命令安装依赖。
yum install php-mcrypt libmcrypt libmcrypt-devel libxml2-devel openssl-devel libcurl-devel libjpeg.x86_64 libpng.x86_64 freetype.x86_64 libjpeg-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64 libjpeg-turbo-devel libmcrypt-devel mysql-devel -ywget http://zy-res.oss-cn-hangzhou.aliyuncs.com/php/php-7.0.12.tar.gztar zxvf php-7.0.12.tar.gzcd php-7.0.12./configure \--prefix=/usr/local/php \--enable-mysqlnd \--with-mysqli=mysqlnd --with-openssl \--with-pdo-mysql=mysqlnd \--enable-mbstring \--with-freetype-dir \--with-jpeg-dir \--with-png-dir \--with-zlib --with-libxml-dir=/usr \--enable-xml --enable-sockets \--with-apxs2=/usr/local/apache/bin/apxs \--with-mcrypt --with-config-file-path=/etc \--with-config-file-scan-dir=/etc/php.d \--enable-maintainer-zts \--disable-fileinfomake && make install
依次运行以下命令复制配置文件。
cd php-7.0.12cp php.ini-production /etc/php.ini
编辑 Apache 配置文件 httpd.conf,以 Apache 支持 PHP。
- 运行
vim /etc/httpd/httpd.conf打开文件,按i进入编辑模式。 - 在配置文件最后添加如下二行代码。
AddType application/x-httpd-php .phpAddType application/x-httpd-php-source .phps
定位到
DirectoryIndex index.html,修改为DirectoryIndex index.php index.html。说明:
如果文件中没有DirectoryIndex index.html,则添加上述代码。- 按
Esc键退出编辑模式,输入:wq保存并关闭文件。
- 运行
重启 Apache 服务:
/usr/local/apache/bin/apachectl restart
测试是否能够正常解析 PHP。
- 依次运行以下命令,找开 index.php 文件。
cd /usr/local/apache/htdocs/vim index.php
- 按
i键进入编辑模式,并添加以下内容。<?phpphpinfo();?>
- 按
Esc键退出编辑模式,并输入:wq保存并关闭文件。 在本地机器的浏览器里输入
http://实例公网 IP/index.php。
如果出现以下页面表示 PHP 解析成功。
- 依次运行以下命令,找开 index.php 文件。
安装 phpMyAdmin
依次运行以下命令安装 phpMyAdmin。
mkdir -p /usr/local/apache/htdocs/phpmyadmincd /usr/local/src/wget http://oss.aliyuncs.com/aliyunecs/onekey/phpMyAdmin-4.1.8-all-languages.zipunzip phpMyAdmin-4.1.8-all-languages.zipmv phpMyAdmin-4.1.8-all-languages/* /usr/local/apache/htdocs/phpmyadmin
在本地机器浏览器输入http://实例公网 IP/phpmyadmin 访问 phpMyAdmin 登录页面。如果出现以下页面,说明 phpMyAdmin 安装成功。输入 MySQL 的用户名和密码即可登录。
部署 LAMP的更多相关文章
- 部署lamp服务器
系统:CentOS 6.5 64位 1.卸载旧版本软件 rpm -qa | grep mysql #查询是否已经安装MySQL,如有执行下面的操作将其全部删除 rpm -e mysql --nodep ...
- mint上部署lamp环境
不得不说现在在linux mint上部署lamp很方便,比windows服务器上的asp.net的部署升级都简单. 1 安装MySql sudo apt-get install mysql-serve ...
- 部署LAMP+NFS实现双Web服务器负载均衡
一.需求分析 1.前端需支持更大的访问量,单台Web服务器已无法满足需求了,则需扩容Web服务器: 2.虽然动态内容可交由后端的PHP服务器执行,但静态页面还需要Web服务器自己解析,那是否意味着多台 ...
- 云服务器 ECS > 建站教程 > 部署 LAMP (CentOS 7.2 ,Apache版本:2.4.23, Mysql 版本:5.7.17 , Php版本:7.0.12)
云服务器 ECS > 建站教程 > 部署 LAMP (CentOS 7.2) 部署 LAMP (CentOS 7.2) 文档提供方:上海驻云信息科技有限公司 更新时间:2017-06 ...
- CentOS6系统编译部署LAMP(Linux, Apache, MySQL, PHP)环境
我们一般常规的在Linux服务器中配置WEB系统会用到哪种WEB引擎呢?Apache还是比较常用的引擎之一.所以,我们在服务器中配置LAMP(Linux, Apache, MySQL, PHP)是我们 ...
- rhel6+apache2.4+mysql5.7+php5.6部署LAMP架构
rhel6+apache2.4+mysql5.7+php5.6部署LAMP架构 2017年10月01日 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~准备阶段~~~~~~~~~~~~~ ...
- Linux学习笔记之阿里云ECS部署LAMP环境
LAMP指Linux+Apache+MySQL/MariaDB+Perl/PHP/Python,是一组常用来搭建动态网站或者服务器的开源软件.它们本身都是各自独立的程序,但是因为常被放在一起使用,拥有 ...
- 部署 LAMP (CentOS 7.2),摘自阿里云,方便查看使用
原文地址:https://help.aliyun.com/document_detail/50774.html?spm=5176.product25365.6.728.C9s3V8 简介 LAMP指L ...
- 阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7)
阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7) 1.效果图 1 2. 部署步骤 1 1. mysql安装附加(centos7) 7 ...
随机推荐
- java 数字转换成字符串
一.各种数字类型转换成字符串型: public static void main(String[] args) { double value = 123456.123; String str = S ...
- jQuery.Validator Sample
<!DOCTYPE html> <html> <head> <title></title> <script src="./j ...
- 《PHP和MySQL Web开发》读书笔记(下篇)
又与大家见面了.继续<PHP和MySQL Web开发>的总结. Chapter8.设计Web数据库 ·回去看看数据卡那本书吧,这里就不累赘谈这个东西. Chapter9.创建Web数据库 ...
- 对某道ctf的一点点记录
题目:http://ctf5.shiyanbar.com/web/pcat/index.php 是一道注入的题,主要利用了offset 和 group by with rollup的知识 1.offs ...
- 【算法学习】【洛谷】树链剖分 & P3384 【模板】树链剖分 P2146 软件包管理器
刚学的好玩算法,AC2题,非常开心. 其实很早就有教过,以前以为很难就没有学,现在发现其实很简单也很有用. 更重要的是我很好调试,两题都是几乎一遍过的. 介绍树链剖分前,先确保已经学会以下基本技巧: ...
- 禅道CMS 获文件名脚本
use Net::HTTP::GET; use Base64; ; windowWidth=; windowHeight=; sid=jg9g2mk5kmru46lmd3g2evoc87>; # ...
- 重写Java Object对象的hashCode和equals方法实现集合元素按内容判重
Java API提供的集合框架中Set接口下的集合对象默认是不能存储重复对象的,这里的重复判定是按照对象实例句柄的地址来判定的,地址相同则判定为重复,地址不同不管内容如何都判定为不重复,这有时与需求不 ...
- Pytorch多进程最佳实践
预备知识 模型并行( model parallelism ):即把模型拆分放到不同的设备进行训练,分布式系统中的不同机器(GPU/CPU等)负责网络模型的不同部分 —— 例如,神经网络模型的不同网络层 ...
- Mysql Limit操作
oracle : || mysql: contact contact_ws 拼接 Font Size: Large | Medium | Small select * from tabl ...
- Web Api - HttpMessageHandler 学习
参考: 1.http://www.cnblogs.com/chenboyi081/p/4995252.html 2.http://www.cnblogs.com/r01cn/archive/2012/ ...