云服务器 ECS 建站教程:部署 LAMP (CentOS 7.2)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
对象存储 OSS,20GB 3个月
简介:


部署 LAMP (CentOS 7.2)

简介

LAMP指Linux+Apache+Mysql/MariaDB+Perl/PHP/Python是一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。

部署方式

在阿里云服务器下部署LAMP提供三种部署方式,镜像部署、一键安装包部署和手动部署(源码编译安装/YUM安装),一般推荐镜像部署适合新手使用更加快捷方便,安装包部署以及手动部署适合对Linux命令有基本了解的用户,可以满足用户个性化部署的要求。本教程主要介绍手动部署的方式。

手动部署

系统平台:CentOS 7.2

Apache版本:2.4.23

Mysql 版本:5.7.17

Php版本:7.0.12

安装前准备

CentOS 7.2系统默认开启了防火墙,需关闭后外部才可访问本机的80、21等端口,如需做安全类配置可自行参考官方文档。

关闭防火墙:

systemctl stop firewalld.service
AI 代码解读

关闭防火墙开机自启动:

systemctl disable firewalld.service
AI 代码解读

安装vim及unzip:

yum install -y vim unzip
AI 代码解读

编译安装apache准备

编译安装apache前需要安装apr、apr-util和pcre软件包和相关依赖包。

yum install -y gcc gcc-c++ autoconf libtool
AI 代码解读

安装apr

cd /usr/local/src/
wget http://oss.aliyuncs.com/aliyunecs/onekey/apache/apr-1.5.0.tar.gz
tar zxvf apr-1.5.0.tar.gz
cd apr-1.5.0
./configure --prefix=/usr/local/apr
make && make install
AI 代码解读

安装apr-util

cd /usr/local/src/
wget http://oss.aliyuncs.com/aliyunecs/onekey/apache/apr-util-1.5.3.tar.gz
tar zxvf apr-util-1.5.3.tar.gz 
cd apr-util-1.5.3
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
AI 代码解读

安装pcre

cd /usr/local/src/
wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/pcre/pcre-8.38.tar.gz 
tar zxvf pcre-8.38.tar.gz
cd pcre-8.38
./configure --prefix=/usr/local/pcre
make && make install
AI 代码解读

编译安装Apache

cd /usr/local/src/
wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/apache/httpd-2.4.23.tar.gz 
tar zxvf httpd-2.4.23.tar.gz
cd 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=event
make && make install
AI 代码解读

修改httpd.conf配置文件参数

cd /etc/httpd/
vim httpd.conf
AI 代码解读

1.找到Directory参数,注释掉Require all denied添加Require all granted。


image

2.找到ServerName参数,添加ServerName localhost:80 然后,按Esc键后输入:wq保存退出。

image


设置PidFile路径

vim /etc/httpd/httpd.conf
AI 代码解读

在配置文件最后添加以下内容:

PidFile  "/var/run/httpd.pid"
AI 代码解读

启动Apache服务并验证

cd /usr/local/apache/bin/
./apachectl start
netstat -tnlp                             #查看服务是否开启
AI 代码解读


image


在本地浏览器中输入云服务器的公网IP地址验证,出现下图表示安装成功。


image


设置开机自启

在rc.local文件中添加/usr/local/apache/bin/apachectl start,然后输入:wq保存退出。

vim /etc/rc.d/rc.local
AI 代码解读


image


设置环境变量

vi /root/.bash_profile
AI 代码解读

在PATH=PATH:HOME/bin添加参数为:

PATH=$PATH:$HOME/bin:/usr/local/apache/bin
AI 代码解读

然后输入:wq保存退出,执行:

source /root/.bash_profile
AI 代码解读

编译安装MySQL前预准备

首先检查系统中是否存在使用rpm安装的mysql或者mariadb,如果有需要先删除后再编译安装。

rpm -qa | grep mysql               #由下至上依次卸载
rpm -qa | grep mariadb
rpm -e xxx                           #一般使用此命令即可卸载成功    
rpm -e --nodeps xxx                  #卸载不成功时使用此命令强制卸载
AI 代码解读

卸载完以后用 rpm -qa|grep mariadb 或者 rpm -qa|grep mysql 查看结果。

安装mysql

yum install -y libaio-*                         #安装依赖
mkdir -p /usr/local/mysql
cd /usr/local/src
wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/mysql/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz 
tar -xzvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.7.17-linux-glibc2.5-x86_64/* /usr/local/mysql/
AI 代码解读

建立mysql组和用户,并将mysql用户添加到mysql组

groupadd mysql
useradd -g mysql -s /sbin/nologin mysql
AI 代码解读

初始化mysql数据库

 /usr/local/mysql/bin/mysqld --initialize-insecure --datadir=/usr/local/mysql/data/ --user=mysql
AI 代码解读

更改mysql安装目录的属主属组

chown -R mysql:mysql /usr/local/mysql
AI 代码解读

设置开机自启

cd /usr/local/mysql/support-files/
cp mysql.server  /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld             # 添加执行权限
vim /etc/rc.d/rc.local                  
AI 代码解读

添加/etc/init.d/mysqld start到rc.local文件中,然后输入:wq保存退出。

设置环境变量

vi /root/.bash_profile
AI 代码解读

在PATH=PATH:HOME/bin添加参数为:

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
AI 代码解读

然后输入:wq保存退出,输入:

source /root/.bash_profile
AI 代码解读

启动MySQL数据库

/etc/init.d/mysqld start
AI 代码解读


image


修改Mysql的root用户密码

初始化后mysql为空密码可直接登录,为了保证安全性需要修改mysql的root用户密码。

mysqladmin -u root password 'xxxx'
AI 代码解读

测试登录MySQL数据库

mysql -uroot -p密码                           #-p和密码之间无空格
AI 代码解读


image

编译安装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  -y
wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/php/php-7.0.12.tar.gz
tar zxvf php-7.0.12.tar.gz
cd 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-fileinfo
make && make install
AI 代码解读

复制配置文件

cd php-7.0.12
cp php.ini-production /etc/php.ini
AI 代码解读

编辑apache配置文件httpd.conf,以apache支持php

vim /etc/httpd/httpd.conf
AI 代码解读

在配置文件最后添加如下二行:

AddType application/x-httpd-php  .php 
AddType application/x-httpd-php-source  .phps
AI 代码解读

定位到 DirectoryIndex index.html

修改为:

DirectoryIndex  index.php  index.html
AI 代码解读

重启apache服务

/usr/local/apache/bin/apachectl restart
AI 代码解读

测试是否能够正常解析PHP

 cd  /usr/local/apache/htdocs/
 vim index.php                #添加如下内容
<?php
phpinfo();
?>
AI 代码解读

访问云服务器的公网IP/index.php,出现如下页面表示解析成功。

image

安装phpmyadmin

mkdir -p /usr/local/apache/htdocs/phpmyadmin
cd /usr/local/src/
wget http://oss.aliyuncs.com/aliyunecs/onekey/phpMyAdmin-4.1.8-all-languages.zip
unzip phpMyAdmin-4.1.8-all-languages.zip
mv phpMyAdmin-4.1.8-all-languages/*  /usr/local/apache/htdocs/phpmyadmin
AI 代码解读

访问ip/phpmyadmin即可访问到phpmyadmin登录页面,输入mysql的用户名以及密码即可登录。


image

原文链接

相关实践学习
快速体验PolarDB开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
4
355
分享
相关文章
DeepSeek服务器繁忙解决方法:使用阿里云一键部署DeepSeek个人网站!
通过阿里云一键部署DeepSeek个人网站,解决服务器繁忙问题。学生用户可领取300元代金券实现0成本部署,普通用户则可用99元/年的服务器。教程涵盖从选择套餐、设置密码到获取百炼API-KEY的全流程,助您快速搭建专属大模型主页,体验DeepSeek、Qwen-max、Llama等多款模型,无需代码,最快5分钟完成部署。支持绑定个人域名,共享亲友使用,日均成本仅约1元。
134 10
|
23天前
|
CentOS 7.9系统备份:每日定期发送最新备份文件到另一台服务器。
注意,这个解决方案忽略了很多细节,例如错误处理和通知、备份版本控制、循环处理旧的备份文件等等。此外,你也应该尽量保持源服务器和目标服务器之间快速,稳定且安全的网络连接,并且目标服务器应该有足够的空间用于存放每天的备份文件。如果你需要更高级的备份解决方案,可能需要考虑一下使用专门的备份工具或者服务。
56 18
Vue项目部署:如何打包并上传至服务器进行部署?
以上就是Vue项目打包及部署的方法,希望对你有所帮助。描述中可能会有一些小疏漏,但基本流程应该没有问题。记住要根据你的实际情况调整对应的目录路径和服务器IP地址等信息。此外,实际操作时可能会遇到各种问题,解决问题的能力是每一位开发者必备的技能。祝你部署顺利!
152 17
Docker——阿里云服务器使用Docker部署python项目全程小记
本文记录了我在阿里云服务器上使用Docker部署python项目(flask为例)的全过程,在这里记录和分享一下,希望可以给大家提供一些参考。
152 0
【已解决】Matomo本地SMTP配置可以发邮件,但部署到阿里云ECS就发不了邮件
在阿里云ECS上使用Matomo和PHPMailer发送邮件时遇到问题,邮件无法发出且接口调用Pending。经过排查,发现是ECS安全组未开放25/465端口,导致SMTP请求无法正常通信。解决方法为在安全组中配置并开放25/465端口,从而恢复邮件发送功能。
使用ECS搭建云服务器体验
了解端口的知识,本地配置服务端上传运行服务器,实现服务器24小时开放。
使用ECS搭建云服务器体验
阿里云特惠云服务器99元与199元配置与性能和适用场景解析:高性价比之选
2025年,阿里云长效特惠活动继续推出两款极具吸引力的特惠云服务器套餐:99元1年的经济型e实例2核2G云服务器和199元1年的通用算力型u1实例2核4G云服务器。这两款云服务器不仅价格亲民,而且性能稳定可靠,为入门级用户和普通企业级用户提供了理想的选择。本文将对这两款云服务器进行深度剖析,包括配置介绍、实例规格、使用场景、性能表现以及购买策略等方面,帮助用户更好地了解这两款云服务器,以供参考和选择。
|
4天前
|
阿里云linux服务器使用脚本通过安全组屏蔽异常海外访问ip
公网网站可能会遭受黑客攻击导致访问异常,使用此脚本可以屏蔽掉异常IP 恢复访问。也可自行设置定时任务定期检测屏蔽。
85 28
阿里云第八代云服务器c8i与g8i深度解析:技术对比、场景适配与选购指南
阿里云服务器计算型c8i与通用型g8i实例属于阿里云的第八代云服务器实例规格,是除了计算型c7与c8y和通用型g7与g8y之外同样深受用户喜欢的云服务器实例规格。本文将详细解析计算型c8i与通用型g8i实例的技术特性、适用场景、性能优势,以及最新的活动价格情况,并为用户提供购买建议。
【阿里云】控制台使用指南:从创建ECS到系统诊断测评
本文介绍了如何通过阿里云获取ECS云服务器并进行操作系统配置与组件安装,以实现高效的资源管理和系统监控。阿里云凭借强大的基础设施和丰富的服务成为用户首选。文中详细描述了获取ECS、RAM授权、开通操作系统控制台及组件安装的步骤,并展示了如何利用控制台实时监控性能指标、诊断系统问题及优化性能。特别针对idle进程进行了深入分析,提出了优化建议。最后,建议定期进行系统健康检查,并希望阿里云能推出更友好的低成本套餐,满足学生等群体的需求。
141 17
【阿里云】控制台使用指南:从创建ECS到系统诊断测评