天天看點

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的方式來安裝,也可以通過源碼編譯的方式來安裝,這裡采用編譯源碼的方式進行安裝。

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 成功!