LAMP平台部署,lamp部署
LAMP平台的概述
LAMP環境指令碼部署:https://github.com/spdir/ShellScripts/tree/master/lamp
LAMP的介紹:百度百科
LAMP平台的構成組件:
- Linux作業系統
- Apache
- MySQL/mogodb
- PHP/Perl/Python
LAMP平台的優勢:
本文構成組件:Linux(CentOS6.5)、Apache、MySQL、PHP
編譯安裝Apache(httpd)服務
Apache介紹:百度百科
Apache的特點:開放原始碼、跨平台應用、支援各種Web程式設計語言、模組化設計、運行非常穩定、良好的安全性
Apache源碼包:http://httpd.apache.org/download.cgi
安裝步驟:
1.檢測伺服器是否存在RPM方式安裝的httpd服務(防止連接埠衝突)
rpm -e httpd --nodeps
2.編譯安裝httpd源碼包
tar zxvf httpd-2.2.17.tar.gz -C /usr/src/ #解包cd /usr/src/httpd-2.2.17/./configure --prefix=/usr/local/httpd/ --enable-so --enable-rewrite --enable-charset-lite --enable-cig #配置make && make install #編譯及安裝
配置參數含義:
- --prefix:指定將httpd服務程式安裝到那個目錄下,如/usr/local/httpd;
- --enable-so:啟用動態載入模組支援,使httpd具備進一步擴充功能的能力;
- --enable-rewrite:啟用網頁地址修正功能,用於網站最佳化及目錄遷移維護;
- --enable-charset-lite:啟動字元集支援,以便支援使用各種字元編碼的網頁;
- --enable-cgi:啟用CGI指令碼程式支援,便於擴充網站的應用訪問能力;
httpd服務的主要目錄結構:
- 服務類別目錄:/usr/local/httpd/
- 主設定檔:/usr/local/httpd/conf/httpd.conf
- 網頁目錄:/usr/local/httpd/htdocs/
- 服務指令碼:/usr/local/httpd/bin/apachectl
- 執行程式:/usr/local/httpd/bin/httpd
- 訪問日誌: /usr/local/httpd/log/access_log
- 錯誤記錄檔: /usr/local/httpd/log/error_log
3.最佳化執行路徑
ln -s /usr/local/httpd/bin/* /usr/local/bin
4.添加httpd到系統服務
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpdcd /etc/init.d/chmod +x httpdvim /etc/init.d/httpd #在設定檔中添加
1 #!/bin/sh2 #chkconfig:2345 81 25 //服務識別參數,在運行層級2345中啟動,啟動和關閉的順序為81,253 #description:This is Apache Server //服務描述資訊4 #省略內容......修改httpd檔案chkconfig --add httpd #將httpd添加為系統服務
chkconfig httpd on #查看httpd服務的自啟動狀態
常用的全域配置參數(httpd.conf)
1 ServerRoot:服務類別目錄 2 ServerAdmin:管理員郵箱 3 User:運行服務的使用者身份 4 Group:運行服務的組身份 5 ServerName:網站伺服器的網域名稱 6 DocumentRoot:網頁文檔的根目錄 7 Listen:監聽的IP地址、連接埠號碼 8 PidFile:儲存httpd進程PID號的檔案 9 DirectoryIndex:預設的索引頁檔案10 ErrorLog:錯誤記錄檔檔案的位置11 CustomLog:訪問記錄檔的位置12 LogLevel:記錄日誌的層級,預設為warn13 Timeout:網路連接逾時,預設為300秒14 KeepAlive:是否保持串連,可選On或Off15 MaxKeepAliveRequests:每次串連最多請求檔案數16 KeepAliveTimeout:保持串連狀態時的逾時時間17 Include:需要包含進來的其他設定檔
地區設定項目
<Directory /> //定義"/"目錄地區的開始 Options FollowSymLinks //控制選項,允許使用符號連結 AllowOverride None //不允許隱含控制檔案中的覆蓋配置 Order deny,allow //存取控制策略的應用順序 Deny from all //禁止任何人訪問此地區</Directory> //定義"/"目錄地區的結束
部署AWStats網站訪問統計分析系統:http://www.cnblogs.com/zhichaoma/p/7487766.html
虛擬機器主機配置:http://www.cnblogs.com/zhichaoma/p/7489043.html
網站訪問限制:http://www.cnblogs.com/zhichaoma/p/7488898.html
編譯安裝MySQL服務
MySQL介紹:百度百科
MySQL源碼包: https://dev.mysql.com/downloads/
安裝步驟:
1.準備工作
卸載RPM方式安裝的mysql-server、mysql軟體包(避免連接埠衝突、程式衝突)
rpm -e mysql-server mysql
使用rpm或者yum的方式安裝ncurses-devel依賴包
rpm -ivh ncurses-devel-5.7-3.20090208.el6.x86_64.rpm或者yum -y install ncurses-devel
編譯安裝cmake包
tar zxvf cmake-2.8.6.tar.gz -C /usr/src/cd /usr/src/cmake-2.8.6/./configure && gmake && gmake install
建立運行使用者
#刪除系統原有的mysql帳號userdel mysql建立新的mysql帳號useradd -M -s /sbin/nologin mysql
編譯安裝mysql包
tar zxvf mysql-5.5.22.tar.gz -C /usr/src/ #解包cd /usr/src/mysql-5.5.22/cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc/ -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWHIT_CHARSETS=all #配置make && make install #編譯並安裝
配置參數含義:
- -DCMAKE_INSTALL_PREFIX:指定將mysql資料庫程式安裝到某目錄下,如/usr/local/mysql;
- -DSYSCONFDIR:指定初始化參數檔案目錄;
- -DDEFAULT_CHARSET:指定預設使用的字元集編碼,如,utf8;
- -DDEFAULT_COLLATION:指定預設使用的字元集校對規則,utf8_general_ci 是適用於UTF-8字元集的通用規則;
- -DWHIT_CHARSETS=all:指定額外支援的其它字串編碼;
2.安裝後的調整
對資料庫目錄進行調整
chown -R mysql:mysql /usr/local/mysql/
建立設定檔
rm -rf /etc/my.cnf //如果原來etc檔案下下有my.cnf檔案可以刪除cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
初始化資料庫
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
最佳化執行路徑
ln -s /usr/local/mysql/bin/* /usr/local/bin/
添加系統服務
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld chmod +x /etc/rc.d/init.d/mysqld chkconfig --add mysqldchkconfig mysqld onservice mysqld start
初始化資料庫管理員帳號root的密碼
mysqladmin -u root password "123.com"
資料庫的基本操作:
構建PHP運行環境
PHP源碼包:http://php.net/downloads.php
安裝步驟:
1.準備工作
卸載RPM方式安裝的php、php-cli、php-ldap、php-common、php-mysql等軟體包(避免程式衝突)
rpm -e php php-cli php-ldap php-common php-mysql --nodeps
使用rpm或者yum的方式安裝 zlib-devel 和 libxml2-devel 依賴包
rpm -ivh zlib-devel-1.2.3-29.el6.x86_64.rpmrpm -ivh libxml2-devel-2.7.6-14.el6.x86_64.rpm或者yum -y install zlib-develrpm -y install libxml2-devel
2.安裝php加密擴充外掛程式(libmcrypt、mhash、mcrypt)**順序安裝
安裝libmcrypt程式
:http://mcrypt.hellug.gr/lib/
tar zxvf libmcrypt-2.5.8.tar.gz -C /usr/src/cd /usr/src/libmcrypt-2.5.8/./configure && make && make installln -s /usr/local/lib/libmcrypt.* /usr/bin/
安裝mhash程式
:https://sourceforge.net/projects/mhash/files/mhash/
tar zxf mhash-0.9.9.9.tar.gz -C /usr/src/cd /usr/src/mhash-0.9.9.9/./configuremake && make installln -s /usr/local/lib/libmhash.* /usr/lib/
安裝mcrypt程式
:https://sourceforge.net/projects/mcrypt/files/MCrypt/2.6.8/
tar zxf mcrypt-2.6.8.tar.gz -C /usr/src/cd /usr/src/mcrypt-2.6.8/./configureexport LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH./configuremake && make install
3.編譯安裝PHP
tar zxf php-5.3.28.tar.gz -C /usr/src/cd /usr/src/php-5.3.28/./configure --prefix=/usr/local/php5 --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5 --enable-mbstring --enable-socketsmake && make install
配置參數含義:
- --prefix:指定將PHP程式安裝到那個目錄下,如/usr/local/php5;
- --with-mcrypt:載入資料加密等擴充工具支援;
- --with-apxs2:設定Apache HTTP Server 提供的apxs模組支援程式的檔案位置;
- --with-mysql:設定MySQL資料庫服務程式的安裝位置;
- --with-config-file-path:設定PHP的設定檔php.ini將要存放的位置;
- --enable-mbstring:啟用多字串功能,以便支援中文等代碼;
- --enable-sockets:支援通訊端;
4.php.ini檔案的調整
cp /usr/src/php-5.3.28/php.ini-development /usr/local/php5/php.inivim /usr/local/php5/php.ini #在設定檔中修改
default_charset = "utf-8" //設定預設字元集utf-8;file_uploads = On //允許通過PHP網頁上傳檔案;upload_max_filesize = 2M //允許上傳的檔案大小限制;max_file_uploads = 20 //每個HTTP最多允許請求上傳的檔案數;post_max_size = 8M //每次通過表單post提交的資料量限制;short_open_tag = on //允許識別PHP短文法標記,<?...?>;修改php.ini設定檔
5.添加ZendGuardLoader最佳化模組
ZendGuardLoader包下載:http://www.zend.com/en/products/guard/downloads#Linux
進一步提高PHP程式的執行效率,最佳化頁面的載入速度
tar zxf ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz -C /usr/src/cd /usr/src/ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x/cp ZendGuardLoader.so /usr/local/php5/lib/php vim /usr/local/php5/php.ini #添加設定檔
1 #在末尾添加2 zend_extendsion=/usr/local/php/lib/php/ZendGuardLoader.so3 zned_loader=1修改php.ini設定檔
6.httpd.conf配置調整
vim /usr/local/httpd/conf/httpd.conf #修改配置httpd的設定檔
LoadModule php5_module modules/libphp5.so #如果php安裝成功,則會自動產生此檔案AddType application/x-httpd-php .php #添加DirectoryIndex index.php index.html #修改修改httpd的設定檔
service httpd restart #重新啟動httpd
7.測試
測試一:測試是否可以正常解析php檔案(php測試代碼)
1 <?php2 phpinfo();3 ?>
測試二:測試php網頁是否可以正常串連資料庫服務(php測試代碼)
1 <?php2 $link=mysql_connect('localhost','root','123.com');3 if ($link) echo "資料庫連接成功";4 mysql_close();5 ?>
8.部署phpMyAdmin(採用php開發)
tar zxf phpMyAdmin-2.11.11.3-all-languages.tar.gzmv phpMyAdmin-2.11.11.3-all-languages /usr/local/httpd/htdocs/phpMyAdmin #將源碼放置網站的根目錄下cd /usr/local/httpd/htdocs/phpMyAdmin/cp config.sample.inc.php config.inc.php #建立設定檔