CentOS 6.5下手動編譯Apache 2.2.6 + PHP 5.3.28 + Mysql 5.6.16,centos5.3.28
很久沒配置過伺服器,走了不少彎路,有些參數變化,搜尋到的網上文檔也沒有更新,故此記錄自查。
版本的選擇:
線上系統一個重要原則就是絕對不能用最新版本,因為沒經過時間和市場的考驗,安裝量小,出故障後很難得到他人的協助,如果沒有獨自的核心級開發能力就別當小白鼠了。
要使用當下普遍安裝且穩定成熟的老版本,本次的三個版本均源自論壇、QQ群等多方調查,多家公司線上均在使用,是目前比較成熟但又不會過於老舊的“老版本”。
一、準備工作:
1、禁用SeLinux (selinux可能會致使編譯安裝失敗,先禁用)
getenforce #查看狀態setenforce 0 #臨時禁用,不需重啟# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config #永久禁用,需重啟生效
2、Yum換源
vim /etc/resolv.confnameserver 180.76.76.76 #百度開源DNSyum -y install wgetcd /etc/yum.repos.dmv CentOS-Base.repo CentOS-Base.repo.bak #備份wget http://mirrors.163.com/.help/CentOS6-Base-163.repo #換用163源yum install epel-release #擴充更新包yum makecache #產生緩衝# yum -y upgrade #更新所有軟體包,不更改系統核心及軟體包配置(非必須,酌情)
4、安裝必要模組
# 依賴關係yum install -y wget gcc gcc-c++ make automake autoconf kernel-devel ncurses-devel libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel pcre-devel libtool-libs freetype-devel gd zlib-devel file bison patch mlocate flex diffutils readline-devel glibc-devel glib2-devel bzip2-devel gettext-devel libcap-devel libmcrypt-devel
5、安裝cmake2.8
# 預設下載到/root目錄下cd /root wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gztar -zxvf cmake-2.8.10.2.tar.gzcd cmake-2.8.10.2./bootstrap # 若報錯,則根據報錯補全對應依賴包後,rm ./cmake-2.8.10.2/CMakeCache.txt,重新進行本步驟。gmake && gmake install
6、卸載yum或rpm安裝的軟體,卸載前注意備份配置文檔和資料!
rpm -e httpdrpm -e mysqlrpm -e phpyum -y remove httpdyum -y remove phpyum -y remove mysql-server mysqlyum -y remove php-mysql
7、建立相關的目錄、帳號
# Apachemkdir /usr/local/apachegroupadd apacheuseradd -g apache mysql# PHPmkdir /usr/local/php# Mysqlmkdir /usr/local/mysqlmkdir /data/mysqldatagroupadd mysqluseradd -g mysql mysql
二、安裝Apache 2.2.26
# 預設下載到/root,下同cd /root wget http://archive.apache.org/dist/httpd/httpd-2.2.26.tar.gztar zxvf httpd-2.2.26.tar.gzcd httpd-2.2.26# 編譯./configure --prefix=/usr/local/apache --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-headers=shared --enable-rewrite=shared --enable-static-support# makemake && make install#--------------------------------------------------------------------------------------# 安裝完成後的配置:cp ./build/rpm/httpd.init /etc/init.d/httpd #使用init指令碼管理httpdchmod 755 /etc/init.d/httpd #增加其執行許可權chkconfig --add httpd #添加httpd到服務項chkconfig httpd on #設定開機啟動chown -R apache:apache /usr/local/apache/htdocs #更改目錄許可權# 設定軟連結以適應init指令碼ln -fs /usr/local/apache/ /etc/httpdln -fs /usr/local/apache/bin/httpd /usr/sbin/httpdln -fs /usr/local/apache/bin/apachectl /usr/sbin/apachectlln -fs /usr/local/apache/logs /var/log/httpd
三、安裝Mysql 5.6.16
# 預設下載到/root目錄cd /root wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.16.tar.gztar -zxvf mysql-5.6.16.tar.gzcd mysql-5.6.16# 編譯cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysqldata -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci# makemake && make install#--------------------------------------------------------------------------------------# 配置 & 初始化cp ./support-files/my-default.cnf /etc/my.cnfchown -R mysql:mysql /data/mysqldata/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysqldata/usr/local/mysql/bin/mysqld_safe --user=mysql &/usr/local/mysql/bin/mysqladmin -uroot password mypassword# 加入到系統服務cp ./support-files/mysql.server /etc/rc.d/init.d/mysqldchmod 700 /etc/init.d/mysqldchkconfig --add mysqldchkconfig mysqld on
四、安裝PHP 5.3.28
# 預設下載到/root目錄cd /root wget http://cn2.php.net/distributions/php-5.3.28.tar.bz2tar -jxvf mysql-5.6.16.tar.gzcd php-5.3.28# 編譯 /configure --prefix=/usr/local/php -with-apxs2=/usr/local/apache/bin/apxs --with-curl --with-mcrypt --enable-mbstring --with-iconv --with-gd -with-jpeg-dir=/usr/local/lib --enable-pdo --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd
關於mysqlnd參見:PHP 5.3.0以上推薦使用Mysqlnd驅動,以及:Mysqlnd主從複製和負載平衡外掛程式
# make make && make install
*Apache與PHP的整合:
# 修改apache設定檔,關鍵字搜尋定位並進行修改vi /usr/local/apache/conf/httpd.conf ServerAdmin ******@****.com #管理員郵箱,伺服器任何問題都將發信,如錯誤報表 DocumentRoot "/usr/local/apache/htdocs" #修改webroot Options FollowSymLinks MultiViews #安全起見去掉"Indexes" # 添加對PHP的支援 DirectoryIndex default.php index.php default.html default.htm AddHandler application/x-httpd-php .php# 修改PHP設定檔vi /etc/php.ini register-golbals = On# 啟動apache/usr/local/apache/bin/apachectl start
五、功能測試
sed -i '<?php echo phpinfo();?>' /usr/local/apache/htdocs/index.php #產生測試頁並訪問#若報錯,根據錯誤號碼及提示去搜尋相關解決方案
六、參數調優
MySql 參數建議:
PERCONA CONFIGURATION WIZARD FOR MYSQL(需註冊)
從營運角度淺談MySQL資料庫最佳化
記憶體最佳化:
TCMalloc (google-perftools)-開源中國
Hugepage
以及:
系統效能調優
等等……
七、壓力測試(略)
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。