1. 程式人生 > >centos6安裝LAMP並進行xcache加速

centos6安裝LAMP並進行xcache加速

linux LAMP xcache

一丶LAMP

1.什麽是LAMP

L: linux 是免費開源軟件,這意味著源代碼可用的操作系統。
A: apache (httpd) 是使用中最受歡迎的一個開放源碼的WEB服務器軟件
M: mysql, mariadb 是多線程、多用戶的SQL數據庫管理系統。
P: php, perl, pyth 是一種編程語言最初設計生產動態網站。PHP 是主要用於服務器端的應用程序軟件。Perl 和 Python 類似
常用來搭建動態網站或者服務器的開源軟件,本身都是各自獨立的程序,但是因為常被放在一起使用,擁有了越來越高的兼容度,共同組成了一個強大的Web應用程序平臺。
從網站的流量上來說,70%以上的訪問流量是LAMP來提供的,LAMP是最強大的網站解決方案.

2.LAMP構架及工作原理

技術分享圖片
瀏覽器向服務器發送http請求,服務器 (Apache) 接受請求,如果是靜態資源則直接調用,如果是動態資源則調用php處理模塊連接mysql數據庫進行php腳本的處理。腳本處理完後,將結果轉為靜態資源,由Apache將處理完的信息通過http協議方式發送給瀏覽器,瀏覽器解析,渲染等一系列操作後呈現整個網頁。

3.CGI

CGI:Common Gateway Interface
可以讓一個客戶端,從網頁瀏覽器通過http服務器向執行在
網絡服務器上的程序傳輸數據;CGI描述了客戶端和服務器程
序之間傳輸的一種標準

二丶搭建LAMP

軟件準備

apr-1.6.2.tar.gz

apr-util-1.6.0.tar.gz
httpd-2.4.29.tar.bz2
我們準備編譯安裝httpd,所以需要自己先準備apr包(註意版本,如果相差太多可能會發生錯誤)
mariadb-5.5.60-linux-x86_64.tar.gz
數據庫二進制安裝包
php-5.6.36.tar.xz
xcache-3.2.0.tar.bz2
php和php加速器(註意xcache版本和php版本)

1.編譯安裝httpd2.4

[root@lamp src]# tar xvf apr-1.6.2.tar.gz ;tar xvf apr-util-1.6.0.tar.gz ;tar xvf httpd-2.4.29.tar.bz2 (#解壓縮數據包)

[root@lamp src]# cp -r apr-1.6.2 httpd-2.4.29/srclib/apr
[root@lamp src]# cp -r apr-util-1.6.0 httpd-2.4.29/srclib/apr-util (#將apr拷貝到httpd指定目錄下)
[root@lamp httpd-2.4.29]# ./configure --prefix=/app/httpd24 --sysconfdir=/etc/httpd24/conf --enable-so --enable-ssl --enable-rewrite --with-zlib --with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
[root@lamp httpd-2.4.29]# make -j 4 && make install (#編譯安裝)
[root@lamp httpd-2.4.29]# vim /etc/profile.d/env.sh (#將httpd啟動項加入到全局配置文件裏)

  • export PATH=/app/httpd24/bin:$PATH

[root@lamp httpd-2.4.29]# source /etc/profile.d/env.sh (#重讀配置文件)
[root@lamp httpd-2.4.29]# useradd -r -m -d /var/www -u 48 -s /sbin/nologin apache (#創建apache用戶)
[root@lamp ~]# vim /etc/init.d/httpd (#修改啟動項文件,若沒有可從別的機器拷貝一份或用rpm2cpio指令從httpd rpm包裏拷貝出來一份)
apachectl=/app/httpd24/bin/apachectl
httpd=${HTTPD-/app/httpd24/bin/httpd}
prog=httpd
pidfile=${PIDFILE-/app/httpd24/logs/httpd.pid}
lockfile=${LOCKFILE-/var/lock/subsys/httpd24}
[root@lamp ~]# chkconfig --add httpd24 (#將httpd加入到系統服務)
[root@lamp ~]# chkconfig httpd24 on (#設定 等級為on)
[root@lamp ~]# vim /etc/httpd24/conf/httpd.conf (#配置httpd配置文件)

  • ServerName lamp.centos6.com:80
  • DocumentRoot "/var/www/html"
  • <Directory "/var/www/html">
  • User apache
  • Group apache

[root@lamp ~]# vim /var/www/html/index.html (#編寫網頁內容)

  • <html><body><h1> centos 6.9 LAMP works!</h1></body></html>

[root@lamp ~]# /etc/init.d/httpd24 restart (啟動(重啟)服務)
Stopping httpd: [ OK ]
Starting httpd: [ OK ]

2.二進制安裝mariadb

[root@lamp src]# tar xvf mari`adb-5.5.60-linux-x86_64.tar.gz -C /usr/local/ (#解壓安裝包並指定目錄)
[root@lamp src]# cd /usr/local/
[root@lamp local]# ln -s mariadb-5.5.60-linux-x86_64/ mysql (#創建軟鏈接)
[root@lamp httpd-2.4.29]# vim /etc/profile.d/env.sh (#添加啟動項到全局文件)

  • export PATH=/app/httpd24/bin:/usr/local/mysql/bin:$PATH

    [root@lamp local]# source /etc/profile.d/env.sh (#重讀全局配置文件)
    [root@lamp local]# cd mysql/
    [root@lamp mysql]# useradd -m -r -d /app/mysqldb -u 27 -s /sbin/nologin mysql (#創建mysql系統用戶)
    [root@lamp mysql]# scripts/mysql_install_db --datadir=/app/mysqldb --user=mysql
    [root@lamp mysql]# mkdir /etc/mysql (#編譯安裝)
    [root@lamp mysql]# cp support-files/my-huge.cnf /etc/mysql/my.cnf
    [root@lamp mysql]# vim /etc/mysql/my.cnf (#更改配置文件)

  • [mysqld]
  • datadir = /app/mysqldb
  • innodb_file_per_table = ON
  • skip_name_resolve = ON

[root@lamp mysql]# setfacl -m u:mysql:rwx /var/log (#給mysql用戶寫日誌權限)
[root@lamp mysql]# service mysqld restart (#啟動mysql數據庫)
[root@lamp mysql]# mysql_secure_installation (#修改密碼配置等)
[root@lamp mysql]# mysql -uroot -pcentos

MariaDB [(none)]> create database wpdb; (#創建目錄)
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all on wpdb.* to wpuser@‘%‘ identified by ‘centos‘; (#創建用戶························)
Query OK, 0 rows affected (0.01 sec)

3.源碼編譯安裝php5

[root@lamp src]# tar xvf php-5.6.36.tar.xz (#解壓安裝包)
[root@lamp php-5.6.36]# ./configure \ (#自己按需求配置)
> --prefix=/app/php \
> --with-mysql=/usr/local/mysql \
> --with-openssl \
> --with-mysqli=/usr/local/mysql/bin/mysql_config \
> --enable-mbstring \
> --with-freetype-dir \
> --with-jpeg-dir \
> --with-png-dir \
> --with-zlib \
> --with-libxml-dir=/usr \
> --enable-xml \
> --enable-sockets \
> --with-apxs2=/app /httpd24/bin/apxs\
> --with-mcrypt \
> --with-config-file-path=/etc \
> --with-config-file-scan-dir=/etc/php.d \
> --with-bz2

[root@lamp php-5.6.36]# make -j 2 && make install (#編譯安裝)
[root@lamp php-5.6.36]# cp php.ini-production /etc/php.ini
[root@lamp php-5.6.36]# vim /etc/httpd24/conf/httpd.conf (#修改httpd配置文件,添加php格式)

  • <IfModule dir_module>
  • DirectoryIndex index.php index.html
  • </IfModule>
  • AddType application/x-httpd-php .php
  • AddType application/x-httpd-php-source .phps

[root@lamp ~]# vim /var/www/html/index.php (#編寫網頁內容,並測試是否可以成功連接mysql數據庫,以php為連接 打通httpd和mysql數據庫)

  • <html><body><h1> centos 6.9 LAMP works!</h1></body></html>
  • <?php
  • $mysqli=new mysqli("localhost","root","centos");
  • if(mysqli_connect_errno()){
  • echo "連接數據庫失敗!";
  • $mysqli=null;
  • exit;
  • }
  • echo "連接數據庫成功!";
  • $mysqli->close();
  • $link =
  • mysql_connect(‘localhost‘,‘root‘,‘centos‘);
  • if ($link)
  • echo "Success...";
  • else
  • echo "Failure...";
  • mysql_close();
  • phpinfo();
  • ?>

4.編譯實現php-xcache加速

[root@lamp src]# tar xvf xcache-3.2.0.tar.bz2 (#解壓安裝包)
[root@lamp ~]# vim /etc/profile.d/env.sh (#添加至全局文件並刷新)

  • export PATH=/app/php/bin:/app/httpd24/bin:/usr/local/mysql/bin:$PATH

[root@lamp ~]# source /etc/profile.d/env.sh
[root@lamp src]# cd xcache-3.2.0
[root@lamp xcache-3.2.0]# phpize (#自動創建文件)
Configuring for:
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226
[root@lamp xcache-3.2.0]# ./configure --enable-xcache --with-php-config=/app/php/bin/php-config
[root@lamp xcache-3.2.0]# make && make install (#編譯安裝)
[root@lamp xcache-3.2.0]# mkdir /etc/php.d
[root@lamp xcache-3.2.0]# cp xcache.ini /etc/php.d/
[root@lamp xcache-3.2.0]# vim /etc/php.d/xcache.ini (#在php擴展配置目錄下編寫配置文件,將xcache模塊啟用)
*extension = /app/php/lib/php/extensions/no-debug-non-zts-20131226/xcache.so
[root@lamp xcache-3.2.0]# service httpd24 restart (#重啟httpd服務)
Stopping httpd: [ OK ]
Starting httpd: [ OK ]

完成安裝

centos6安裝LAMP並進行xcache加速