LAMP 系统服务搭建过程详解

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: LAMP 架构在企业里用得非常广泛,目前很多电商公司、游戏公司、移动互联网公司大多都采用这种架构。LAMP指的是Linux、Apache、MySQL、PHP。下面记录了 LAMP 架构系统服务的搭建过程。

LAMP 架构在企业里用得非常广泛,目前很多电商公司、游戏公司、移动互联网公司大多都采用这种架构。LAMP指的是Linux、Apache、MySQL、PHP。下面记录了 LAMP 架构系统服务的搭建过程。

一、MySQL数据库安装

1. 系统环境

CentOS 6.4 x86_64 Mini 版本安装

2. 基础软件包安装

[root@vip ~]# yum install gcc vim make wget -y

3. 下载

# 进入源码存放目录
[root@vip ~]# cd /usr/local/src
# 下载MySQL安装包
[root@vip src]# wget downloads.mysql.com/archives/get/file/mysql-5.5.40-linux2.6-x86_64.tar.gz

4. 解压安装

# 解压
[root@vip src]# tar -zxf mysql-5.5.40-linux2.6-x86_64.tar.gz
# 设置安装路径
[root@vip src]# mv mysql-5.5.40-linux2.6-x86_64 /usr/local/mysql

5. 建立MySQL用户

[root@vip src]# useradd -s /sbin/nologin -M mysql

6. 准备数据目录

# 进入MySQL安装目录
[root@vip src]# cd /usr/local/mysql
# 创建MySQL数据目录
[root@vip mysql]# mkdir -p /var/lib/mysql
# 设置目录权限
[root@vip mysql]# chown -R mysql:mysql /var/lib/mysql

7. 初始化数据库

[root@vip mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/var/lib/mysql
when specifying MySQL privileges !
Installing MySQL system tables...
OK
Filling help tables...
OK  #看到2个OK说明初始化成功

8. 拷贝配置文件

[root@vip mysql]# /bin/cp support-files/my-large.cnf /etc/my.cnf

9. 拷贝启动脚本

# 拷贝启动脚本
[root@vip mysql]# /bin/cp support-files/mysql.server /etc/init.d/mysqld
# 赋予可执行权限
[root@vip mysql]# chmod 755 /etc/init.d/mysqld

10. 修改启动脚本

[root@vip mysql]# vim /etc/init.d/mysqld
# 修改设置内容如下
basedir=/usr/local/mysql
datadir=/var/lib/mysql

11. 把MySQL添加到服务

# 添加到service列表
[root@vip mysql]# chkconfig --add mysqld
# 设置开机启动
[root@vip mysql]# chkconfig mysqld on

12. 启动MySQL服务

[root@vip mysql]# service mysqld start
Starting MySQL... SUCCESS!

13. 查看验证MySQL启动进程

[root@vip mysql]# ps -e | grep mysql
 1830 pts/1    00:00:00 mysqld_safe
 2121 pts/1    00:00:00 mysqld

14. 配置MySQL环境变量

将 MySQL 客户端命令路径加入 PATH 环境变量中去。

# 设置PATH环境变量
[root@vip mysql]# echo 'export PATH=$PATH:/usr/local/mysql/bin' > /etc/profile.d/mysql.sh
[root@vip mysql]# source /etc/profile.d/mysql.sh

15. 登录MySQL测试

[root@vip mysql]# mysql    # 默认没有密码
Your MySQL connection id is 1
Server version: 5.5.40-log MySQL Community Server (GPL)
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
... ...
mysql>

 

二、Apache服务安装

apache可以通过yum的方式来安装,也可以通过源码编译的方式来安装,这里采用编译源码的方式进行安装。

1. 系统环境

CentOS 6.4 x86_64 Mini 版本安装

2. 下载解压apache安装包

[root@vip src]# cd /usr/local/src
[root@vip src]# wget  http://mirror.bit.edu.cn/apache/httpd/httpd-2.2.31.tar.gz
[root@vip src]# tar zxf httpd-2.2.31.tar.gz

3. 安装必要的库和工具

[root@vip src]# yum install -y pcre pcre-devel apr apr-devel zlib-devel gcc make

4. 配置编译参数

[root@vip httpd-2.2.31]# cd httpd-2.2.31
[root@vip httpd-2.2.31]# ./configure \
--prefix=/usr/local/apache2 \
--with-included-apr \
--enable-so \
--enable-deflate=shared \
--enable-expires=shared \
--enable-rewrite=shared \
--with-pcre
[root@vip httpd-2.2.31]# echo $?

5. 编译安装

[root@vip httpd-2.2.31]# make && make install
[root@vip httpd-2.2.31]# echo $?

6. 配置apache环境变量

[root@vip httpd-2.2.31]# echo 'export PATH=$PATH:/usr/local/apache2/bin' > /etc/profile.d/http.sh
[root@vip httpd-2.2.31]# source /etc/profile.d/http.sh

7. apache的启动和停止

apachectl start    # 启动
apachectl stop     # 停止
apachectl restart  # 重启
apachectl -t # 检查语法
apachectl -M # 查看加载模块

8. 将apache加入系统服务

# 拷贝服务脚本
[root@vip httpd-2.2.31]# cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
[root@vip httpd-2.2.31]# vim /etc/init.d/httpd    # 第一行下边添加2行内容
#!/bin/sh
# chkconfig: 2345 61 61
# description: Apache
# 添加到系统服务 并设置开机启动
[root@vip httpd-2.2.31]# chkconfig --add httpd
[root@vip httpd-2.2.31]# chkconfig httpd on

9. 验证服务是否正常

[root@vip httpd-2.2.31]# service httpd start
httpd: apr_sockaddr_info_get() failed for vip    # 出现警告信息
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

解决警告信息的方法:去掉 ServerName www.example.com:80 行的注释#。

 

三、PHP系统安装

1. 下载解压安装包

[root@vip ~]# cd /usr/local/src
[root@vip src]# wget http://cn2.php.net/get/php-5.5.38.tar.gz/from/this/mirror -O php-5.5.38.tar.gz
[root@vip src]# tar zxf php-5.5.38.tar.gz

2. 下载依赖库和工具

[root@vip src]# yum install -y epel-release
[root@vip src]# yum install -y libxml2-devel openssl openssl-devel bzip2 bzip2-devel \ libjpeg-devel libpng libpng-devel freetype freetype-devel libmcrypt-devel

3. 编译配置安装选项

[root@vip php-5.5.38]# cd php-5.5.38
[root@vip php-5.5.38]# ./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-config-file-path=/usr/local/php/etc  \
--with-mysql=/usr/local/mysql \
--with-libxml-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-iconv-dir \
--with-zlib-dir \
--with-bz2 \
--with-openssl \
--with-mcrypt \
--enable-soap \
--enable-gd-native-ttf \
--enable-mbstring \
--enable-sockets \
--enable-exif \
--disable-ipv6

4. 编译安装

[root@vip php-5.5.38]# make && make install
[root@vip php-5.5.38]# echo $?

5. 拷贝php配置文件

[root@vip php-5.5.38]# cp php.ini-production /usr/local/php/etc/php.ini

6. 配置php环境变量

[root@vip php-5.5.38]# echo 'export PATH=$PATH:/usr/local/php/bin' > /etc/profile.d/php.sh
[root@vip php-5.5.38]# source /etc/profile.d/php.sh

到此为止,php完成基本的编译安装,后续解析php还得另外配置。

 

四、配置支持php解析

1. 修改apache配置文件

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all    # Deny修改为Allow
</Directory>

2. 支持php脚本解析

AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php    # 添加这1行

3. 添加php索引支持

<IfModule dir_module>
    DirectoryIndex index.html index.htm index.php    # 添加php索引
</IfModule>

4. 测试配置语法和重启apache服务

[root@vip ~]# apachectl -t
Syntax OK
[root@vip ~]# service httpd restart

5. 测试php解析

编写测试文件:/usr/local/apache2/htdocs/index.php

<?php
    echo "hello php!"
?>

命令行curl测试:

[root@vip htdocs]# curl localhost/index.php
hello php![root@vip htdocs]#

解析 php 成功!

 

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
存储 关系型数据库 MySQL
LAMP架构介绍及配置命令讲解
本篇文章主要是对LAMP架构的概念介绍,以及相关配置命令的讲解。实例操作在下一篇文章中进行演示。 一、LAMP架构介绍 1.1 概述 LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境。LAMP是一个缩写词,具体包括Linux操作系统、Apache网站服务器、MySQL数据库服务器、PHP(或Perl、Python)网页编程语言。
155 0
|
运维 监控 Unix
运维:Centos8安装supervisor守护Nginx进程笔记
Supervisor是基于Python语言开发的一套的进程管理程序,它可以将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时支持自动重启。
运维:Centos8安装supervisor守护Nginx进程笔记
|
网络协议 网络安全
安装搭建lamp服务环境的准备工作
安装搭建lamp服务环境的准备工作:
97 0
|
弹性计算 关系型数据库 MySQL
快速搭建LAMP环境
CentOS 7.7的ECS实例(云服务器)。通过本教程的操作,您可以基于ECS实例快速搭建一套LAMP环境。
322 0
快速搭建LAMP环境
|
关系型数据库 MySQL Apache
学习快速搭建LAMP环境
学习快速搭建LAMP环境
123 0
|
关系型数据库 MySQL 数据库
|
弹性计算 关系型数据库 MySQL
|
弹性计算 关系型数据库 MySQL
Day6-快速搭建LAMP环境
阿里云云服务器ecs第6天打卡
Day6-快速搭建LAMP环境
|
关系型数据库 MySQL Apache
搭建LAMP环境
新手一起来学啊!!!
359 0
搭建LAMP环境
|
弹性计算 关系型数据库 MySQL
Day5快速搭建LAMP环境
LAMP是Linux、Apache、MySQL、PHP的简称。 web服务器主要功能是提供网上信息浏览服务。