歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

CentOS6.5下手動編譯Apache2.2.6+PHP5.3.28+Mysql5.6.16

很久沒配置過服務器,走了不少彎路,有些參數變化,搜索到的網上文檔也沒有更新,故此記錄自查。


版本的選擇:

線上系統一個重要原則就是絕對不能用最新版本,因為沒經過時間和市場的考驗,安裝量小,出故障後很難得到他人的幫助,如果沒有獨自的內核級開發能力就別當小白鼠了。

要使用當下普遍安裝且穩定成熟的老版本,本次的三個版本均源自論壇、QQ群等多方調查,多家公司線上均在使用,是目前比較成熟但又不會過於老舊的“老版本”。

一、准備工作:

1、禁用SeLinux (selinux可能會致使編譯安裝失敗,先禁用)

getenforce                                  #查看狀態
setenforce 0                                #臨時禁用,不需重啟
#  sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config  #永久禁用,需重啟生效

2、Yum換源

vim /etc/resolv.conf
nameserver 180.76.76.76                                         #百度開源DNS
yum -y install wget

cd /etc/yum.repos.d
mv 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.gz
tar -zxvf cmake-2.8.10.2.tar.gz
cd cmake-2.8.10.2

./bootstrap  
# 若報錯,則根據報錯補全對應依賴包後,rm ./cmake-2.8.10.2/CMakeCache.txt,重新進行本步驟。
gmake && gmake install 

6、卸載yum或rpm安裝的軟件,卸載前注意備份配置文檔和數據

rpm -e httpd
rpm -e mysql
rpm -e php
yum -y remove httpd
yum -y remove php
yum -y remove mysql-server mysql
yum -y remove php-mysql

7、建立相關的目錄、賬號

# Apache
mkdir /usr/local/apache
groupadd apache
useradd -g apache mysql

# PHP
mkdir /usr/local/php

# Mysql
mkdir /usr/local/mysql
mkdir /data/mysqldata
groupadd mysql
useradd -g mysql mysql

二、安裝Apache 2.2.26

# 默認下載到/root,下同
cd /root  
wget http://archive.apache.org/dist/httpd/httpd-2.2.26.tar.gz
tar zxvf  httpd-2.2.26.tar.gz
cd 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
# make
make && make install

#--------------------------------------------------------------------------------------
# 安裝完成後的配置:
cp ./build/rpm/httpd.init /etc/init.d/httpd         #使用init腳本管理httpd
chmod 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/httpd
ln -fs /usr/local/apache/bin/httpd /usr/sbin/httpd
ln -fs /usr/local/apache/bin/apachectl /usr/sbin/apachectl
ln -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.gz
tar -zxvf mysql-5.6.16.tar.gz
cd 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
# make
make && make install

#--------------------------------------------------------------------------------------
# 配置 & 初始化
cp ./support-files/my-default.cnf /etc/my.cnf
chown -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/mysqld
chmod 700 /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on

四、安裝PHP 5.3.28

# 默認下載到/root目錄
cd /root  
wget http://cn2.php.net/distributions/php-5.3.28.tar.bz2
tar -jxvf mysql-5.6.16.tar.gz
cd 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 '' /usr/local/apache/htdocs/index.php  #生成測試頁並訪問

#若報錯,根據錯誤號及提示去搜索相關解決方案

六、參數調優

MySql 參數建議:
PERCONA CONFIGURATION WIZARD FOR MYSQL(需注冊)
從運維角度淺談MySQL數據庫優化

內存優化:
TCMalloc (google-perftools)-開源中國
Hugepage

以及:
系統性能調優
等等……

七、壓力測試(略)

Copyright © Linux教程網 All Rights Reserved