lamp介紹

 

 

 

 

概述php

         Lamp架構是目前成熟的網站應用模式之一,指的是協同工做的一整套系統和相關軟件,可以提供動態web站點服務及其應用開發環境。html

組成:Linux 、Apache、MySQL、php/perl/pythonpython

優點:成本低廉、可定製、易於開發、方便易用、安全和穩定mysql

1)準備工做linux

setenforce 0 #關閉selinuxc++

systemctl stop firewalld.servicegit

 

apr-utils apache移植運行庫github

 

--prefix=:指定安裝目錄web

--enable-so:啓用動態加載模塊支持,使httpd具有進一步擴展功能的能力sql

--enable-rewrite::啓用網頁地址重寫功能,用於網站優化及目錄遷移維護。(若是訪問網站未找到,將自動跳轉到其餘網頁)

--enable-charset-lite:啓動字符集支持,以便支持使用各類字符集編碼的網頁。

--enable-cgi:啓用CGI腳本程序支持,以便於網站的應用訪問能力

--help:幫助信息

 

make && make install

 

cp /usr/local/httpd/bin/apachectl /etc/rc.d/init.d/httpd

chmod +x /etc/rc.d/init.d/httpd

checkconfig --add httpd

 

 

報錯1httpd: Could not reliably determine the server's fully qualified domain name, using ::1 for ServerName    不能找到徹底合格的域名

    解決:vim /usr/local/httpd/conf/httpd.conf

        97 #ServerName www.example.com:80

        98 ServerName localhost:80

   報錯2

/usr/local/apache/bin/httpd: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory

有不少so模塊在/usr/local/lib目錄下,因此在/etc/ld.so.conf中加入/usr/local/lib這一行

 

/usr/local/httpd/bin/apachectl start啓動httpd服務

 

 

 

下載工具
[root@E tools]# pwd
/home/evan/tools
[root@E tools]# wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz
[root@E tools]# ls -l cmake-3.5.2.tar.gz
-rw-r--r-- 1 root root 6863498 4月 16 01:40 cmake-3.5.2.tar.gz

解壓cmake3.5.2
[root@E tools]# tar xf cmake-3.5.2.tar.gz
[root@E tools]# ls -ld cmake-3.5.2
drwxr-xr-x 11 root root 4096 4月 27 09:45 cmake-3.5.2

安裝cmake3.5.2
[root@E tools]# cd cmake-3.5.2
[root@E cmake-3.5.2]# ./configure
[root@E cmake-3.5.2]# gmake
[root@E cmake-3.5.2]# gmake install
[root@E cmake-3.5.2]# cd ../

3.yum -y install gcc gcc-c++ ncurses-devel perl openssl-devel bison 解決依賴


4.安裝MySQL
建立用戶和組
groupadd mysql
useradd mysql -s /sbin/nologin -M -g mysql
mkdir -p /usr/local/mysql
mkdir -p /data/mysql
chown -R mysql.mysql /data/mysql
chown -R mysql.mysql /usr/local/mysql

解壓編譯安裝(編譯文檔附件)
安裝openssl 和 ncurses
tar zxf mysql-5.5.32.tar.gz
cd mysql-5.5.32

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql

#-- Build files have been written to: /home/evan/tools/mysql-5.5.32
提示,編譯時可配置的選項不少,具體可參考結尾附錄或官方文檔:
make && make install

 

cp supports-file/my-medium.cnf /etc/my.cnf 使用樣原本給mysql做爲配置文件

 

[root@localhost mysql-5.5.11]#scripts/mysql_install_db  --user=mysql  --basedir=/usr/local/mysql --datadir=/data/mysql/ 初始化

指定basedir 和 datadir

cp support-file/mysql.server /etc/rc.d/init.d/mysqld

chmod +x /etc/rc.d/init.d/mysqld

checkconfig --add mysqld

checkconfig --list mysqld

vim /etc/profile.d/mysql.sh

export PATH=$PATH:/usr/local/mysql/bin

 

 

編譯安裝php

 

 

 

 整合lamp

php須要php.ini做爲配置文件 

在/php-5.3.6安裝包中有兩個配置文件一個是php.ini-development還有一個是php.ini-production

將production拷到/usr/local/php中

修改配置文件

 

 

 修改httpd的配置文件/usr/local/httpd/conf/httpd.conf

LoadModule php5_module modules/libphp5.so

modules/libphp5.so    模塊位置

54 AddType application/x-httpd-php .php .phtml                 
    添加對「.php」類型網頁支持
169  DirectoryIndex index.php index.html        
    識別常見的php首頁文件

vim /usr/local/httpd/htdocs/index.php
  <?php
    phpinfo();
  ?>

測試是否能連同mysql
<?php
  $conn = mysql_connection('127.0.0.1','root','')
    if ($conn)
      echo "ok";
    else
      echo 'not ok';
?>

Xcache 以及 fastcgi配置

下載地址:
http://xcache.lighttpd.net/wiki/Release-3.2.0


編譯安裝:

[php]  view plain  copy
 
  1. # wget http://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.gz  
  2. # tar -zxvf xcache-3.2.0.tar.gz  
  3. # cd xcache-3.2.0  
  4. # /usr/local/php/bin/phpize  
  5. # ./configure --enable-xcache --enable-xcache-coverager --enable-xcache-optimizer \  
  6. --with-php-config=/usr/local/php/bin/php-config  
  7. # make && make install  
  8. # vim php.ini #add line extension=xcache.so  




配置文件參數解釋:

[xcache-common]
extension = xcache.so
; extension = php_xcache.dll

[xcache.admin] 
; 登陸管理界面的用戶名和密碼,留空則禁用管理界面
xcache.admin.enable_auth = On

; 管理用戶名
xcache.admin.user = "xcache-admin"

; MD5加密後的密碼,# echo -n pass | md5sum
xcache.admin.pass = ""

[xcache] 
; 決定 XCache 如何從系統分配共享內存
xcache.shm_scheme = "mmap"

; 所用共享緩存的大小。若是爲0,緩存將沒法使用
xcache.size = 60M

; 指定將 cache 切分紅多少塊, 建議設置爲 cpu 數 (cat /proc/cpuinfo |grep -c processor)
xcache.count = 1

; 只是做爲 hash 槽個數的參考值, 您能夠放心地緩存超過這個個數的項目.
xcache.slots = 8K

; Opcode文件的生存時間。若是將此值設置爲0,則將無限期緩存 (int)
xcache.ttl = 0

; 觸發垃圾回收的時間間隔。默認設置爲0 (秒)
xcache.gc_interval = 0

; 同上, 只是針對變量緩存設置
xcache.var_size  = 4M
xcache.var_count = 1
xcache.var_slots = 8K
xcache.var_ttl = 0
xcache.var_maxttl = 0
xcache.var_gc_interval = 300

; 啓用或禁用測試功能
xcache.test = off

; 若是啓用了 ReadonlyProtection, 將會略微下降性能, 可是會提升必定的安全係數. 
; 這個選項對於xcache.mmap_path = /dev/zero 無效.
xcache.readonly_protection = On

; 用於只讀保護的文件路徑
; 這將限制兩個 php 進程組共享同一個 /tmp/xcache 目錄, 指定爲 /dev/zero 時無效
xcache.mmap_path = "/tmp/xcache"

; 在遇到故障時,放置核心轉儲的目錄。必須是PHP可寫入的目錄。保留爲空表明禁用.
xcache.coredump_directory = ""

; 僅用於 Windows
xcache.coredump_type = 0

xcache.disable_on_crash = off  
xcache.experimental = off

; 使用/不使用 opcode 緩存. xcache.size = 0 時無效.
xcache.cacher = On

; 使用 stat() 發現檢查腳本更新.
xcache.stat = ON

; 啓用或禁用優化。默認狀態爲禁用
xcache.optimizer = off

[xcache.coverager]
; 啓用代碼覆蓋信息採集器
; 啓用後 xcache.coveragedump_directory 設置以及 xcache_coverager_start/stop/get/clean() 系列函數纔可使用. (啓用後會對下降影響).
xcache.coverager = off

; 每一個頁面請求自動調用 xcache_coverager_start()
xcache.coverager_autostart = off

; 放置數據採集信息的目錄位置。默認使用目錄 /tmp/pcovis

xcache.coveragedump_directory = ""

 

https://my.oschina.net/angelangel/blog/338458 eaccelerator  

Zend Opcache

 

這幾個PHP加速插件的主要原理都相同,就是把PHP執行後的數據緩衝到內存中從而避免重複的編譯過程,可以直接使用緩衝區已編譯的代碼從而提升速 度,下降服務器負載,它們的效率是顯而易見的,像drupal這種龐大的CMS,每次打開一個頁面要調用數十個PHP文件,執行數萬行代碼,效率可想而 知,在安裝APC等加速器後打開頁面的速度明顯加快。

Zend Opcache 已經集成在了PHP 5.5裏面,編譯安裝PHP5.5的時候加上–enable-opcache就好了。但也支持低版本的 PHP 5.2.*, 5.3.*, 5.4.*,將來會取消對5.2的支持,下面是我在PHP 5.4下的安裝方法:

依次執行下面的命令

wget http://pecl.php.net/get/zendopcache-7.0.2.tgz

tar xzf zendopcache-7.0.2.tgz

cd zendopcache-7.0.2

/usr/local/php/bin/phpize (此處根據實際php安裝路徑)

./configure --with-php-config=/usr/local/php/bin/php-config

make

make install

若是顯示Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20100525/ 表示安裝完成,下面要修改php的配置文件讓它生效

接着呢,配置下php.ini,在最後加上:

[opcache]

zend_extension=opcache.so

opcache.memory_consumption=128

opcache.interned_strings_buffer=8

opcache.max_accelerated_files=4000

opcache.revalidate_freq=60

opcache.fast_shutdown=1

opcache.enable_cli=1

opcache.enable=1

通常來講,按照以往的經驗,若是加在ZendGuardLoader以前會穩定多了。

128意思是給它分配128M內存,而後重啓apache,用phpinfo查看是否生效,顯示下面的信息就說明生效了

在phpinfo頁面的下面能夠看到的運行狀態

若是嫌這個不直觀能夠裝個PHP文件查看,地址在https://gist.github.com/ck-on/4959032,把上面的代碼保存爲一個php文件放到你的網站目錄下面打開就能夠看到:

命中率100%。

相關文章
相關標籤/搜索