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.-linux2.-x86_64.tar.gz

4. 解压安装

# 解压
[root@vip src]# tar -zxf mysql-5.5.-linux2.-x86_64.tar.gz
# 设置安装路径
[root@vip src]# mv mysql-5.5.-linux2.-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 /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
pts/ :: mysqld_safe
pts/ :: 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
Server version: 5.5.-log MySQL Community Server (GPL)
Copyright (c) , , 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..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.]# cd httpd-2.2.
[root@vip httpd-2.2.]# ./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.]# echo $?

5. 编译安装

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

6. 配置apache环境变量

[root@vip httpd-2.2.]# echo 'export PATH=$PATH:/usr/local/apache2/bin' > /etc/profile.d/http.sh
[root@vip httpd-2.2.]# 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.]# cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
[root@vip httpd-2.2.]# vim /etc/init.d/httpd # 第一行下边添加2行内容
#!/bin/sh
# chkconfig: 2345 61 61
# description: Apache
# 添加到系统服务 并设置开机启动
[root@vip httpd-2.2.]# chkconfig --add httpd
[root@vip httpd-2.2.]# chkconfig httpd on

9. 验证服务是否正常

[root@vip httpd-2.2.]# 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..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.]# cd php-5.5.
[root@vip php-5.5.]# ./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.]# make && make install
[root@vip php-5.5.]# echo $?

5. 拷贝php配置文件

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

6. 配置php环境变量

[root@vip php-5.5.]# echo 'export PATH=$PATH:/usr/local/php/bin' > /etc/profile.d/php.sh
[root@vip php-5.5.]# 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 成功!

LAMP 系统服务搭建过程详解的更多相关文章

  1. LNMP系统服务搭建过程详解

    和LAMP不同的是LNMP中的N指的是Nginx(类似于Apache的一种web服务软件)其他都一样.目前这种环境应用的也是非常之多.Nginx设计的初衷是提供一种快速高效多并发的web服务软件.在静 ...

  2. Memcached集群/分布式/高可用 及 Magent缓存代理搭建过程 详解

    当网站访问量达到一定时,如何做Memcached集群,又如何高可用,是接下来要讨论的问题. 有这么一段文字来描述“Memcached集群” Memcached如何处理容错的? 不处理!:) 在memc ...

  3. Jekyll搭建过程详解

    原先博客用Jekyll搭建在Github上,近来访问缓慢,而且markdown不太方便写,故决定在博客园安个新家. 文章见Github博客: 搭建过程:http://wuxichen.github.i ...

  4. HTTPS静态服务搭建过程详解

    HTTPS服务对于一个前端开发者来说是一个天天打招呼的老伙计了,但是之前我跟HTTPS打交道的场景一直是抓包,自己没有亲自搭建过HTTPS服务,对HTTPS的底层知识也是一知半解.最近正好遇到一个用户 ...

  5. Nacos集群搭建过程详解

    Nacos的单节点,也就是我们最开始使用的standalone模式,配置的数据是默认存储到内嵌的数据库derby中. 如果我们要搭建集群的话,那么肯定是不能用内嵌的数据库,不然数据无法共享.集群搭建的 ...

  6. k8s集群搭建过程详解

    准备工作 安装CentOS7虚拟机 略 安装Docker 略 关闭CentOS7自带的防火墙服务 systemctl disable firewalld systemctl stop firewall ...

  7. SSH框架搭建过程详解

    Spring.Struts2.Hibernate框架: 具体三大框架的知识以前的文章写过,在这里整合 Spring框架知识:http://www.cnblogs.com/xuyiqing/catego ...

  8. vue-cli3.0 脚手架搭建项目的过程详解

    1.安装vue-cli 3.0 ? 1 2 3 npm install -g @vue/cli # or yarn global add @vue/cli 安装成功后查看版本:vue -V(大写的V) ...

  9. (转)DNS解析过程详解

    DNS解析过程详解 原文:http://blog.csdn.net/crazw/article/details/8986504 先说一下DNS的几个基本概念: 一. 根域 就是所谓的“.”,其实我们的 ...

随机推荐

  1. Docker Toolbox下配置国内镜像源-阿里云加速器

    Docker machine安装 Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox. Digital ...

  2. 《nginx源代码解析》系列分享专栏

    <nginx源代码解析>系列分享专栏 解析nginx源代码,从main函数开始,一步步解读nginx运行原理,同时进行nginx第三方模块的开发,努力做到知其然,知其所以然 <ngi ...

  3. 关于 idea 快捷键 alt + f7 无法使用的一些尝试

    1. 概述 问题 使用 idea 时, 快捷键 alt + f7 无法生效 环境 OS: win10 idea: idea 2018.1.5 GeForce Experience: 3.17.0.12 ...

  4. 从码云把之前的代码git push 回IDEA 对IDEA里的文件进行简单操作

    前情提要:我的IDEA里的项目之前已经和码云连接成功可以上传.但我直接在电脑文件夹里对文件进行重命名.剪切.粘贴等操作之后IDEA对操作后的文件不识别,无奈之下我将码云上之前的代码推回重新新建了项目. ...

  5. 20155333 2016-2017-2 《Java程序设计》第十周学习总结

    20155333 2016-2017-2 <Java程序设计>第十周学习总结 教材学习内容总结 网络概览 两台计算机用于通信的语言叫做"协议".我们只需关心应用层中的协 ...

  6. 修改cmd为utf-8编码:

    1.组合键WIN+R键,组合键后就会弹出窗口,然后输入CMD,回车: 2.要修改成UTF8编码,输入命令CHCP 65001(设置为65001): 3.鼠标放在命令窗口的标题部分右键,在弹出的右键菜单 ...

  7. C#基础之继承

    继承是在类之间建立一种相交的关系,使得新定义的派生类的实例可以继承已有的基类的特征并且还可以添加新的功能.以前对继承的理解仅仅限于定义,下面是我查了些资料.写了点代码的总结. 1.C#继承的特点 (1 ...

  8. Arduino 101/Genuino101使用-第2篇

    1. Arduino 101编程只是在ARC的核心上进行,其具体架构为ARCv2EM.. 2. 而Quark核心,从目前可知的信息来看,其应该运行着名为Zephyr的RTOS 3.101并没有EEPR ...

  9. ln in Linux

    默认情况(硬连接) ln 目标 连接名称 ll -i 显示文件的inode信息,即文件节点信息 ➜  test1 ll -i 1.txt 27987655 -rw-r--r--  1 myuser   ...

  10. 世界杯足彩怎么买划算?机器学习AI告诉你答案(含预测)

    本文首发于InfoQ公众号头条. 四年一度的世界杯又来了,作为没什么时间看球的码农,跟大家一样,靠买买足彩给自己点看球动力和乐趣, 然而总是买错球队,面对各种赔率也不知道怎么买才划算,足彩是不是碰大运 ...