LAMP 架構在企業裏用得很是普遍,目前不少電商公司、遊戲公司、移動互聯網公司大多都採用這種架構。LAMP指的是Linux、Apache、MySQL、PHP。下面記錄了 LAMP 架構系統服務的搭建過程。php
1. 系統環境html
CentOS 6.4 x86_64 Mini 版本安裝mysql
2. 基礎軟件包安裝linux
[root@vip ~]# yum install gcc vim make wget -y
3. 下載sql
# 進入源碼存放目錄 [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用戶apache
[root@vip src]# useradd -s /sbin/nologin -M mysql
6. 準備數據目錄vim
# 進入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. 拷貝配置文件app
[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能夠經過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 行的註釋#。
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還得另外配置。
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 成功!