5—-CentOS6.5原始碼搭建LAMP–基於module方式實現php(單臺機器)
原始碼搭建LAMP
軟體包下載源:
搜狐映象源:http://mirrors.sohu.com/
apache下載網:http://mirror.bit.edu.cn/apache/
pcre官網:http://www.pcre.org/
apr官網:http://apr.apache.org/
apache官網:http://httpd.apache.org/
mysql官網:https://www.mysql.com/
php官網:http://php.net/
freetds:http://download.csdn.net/download/xhu_eternalcc/7457555
官網:http://www.freetds.org/
實驗環境:
CentOS6.5-x86_64 單臺機器
IP 192.168.9.168
版本:
apr-1.5.2
apr-util-1.5.4
httpd-2.4.20
php-5.6.22
mysql-5.6.32
說明,因為php要連線mysql,所以安裝順序為apache,mysql,php
注:httpd2.4版本需要較新的apr和apr-util
注:新機器要初始化:參考http://wupengfei.blog.51cto.com/7174803/1955545
注:(生產環境一般包放內網ftp下載比較快,一般前端用nginx反向代理至後端apache+php機器,mysql獨立並做叢集)
1
|
一、編譯安裝apache |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
1、 #yum安裝httpd依賴軟體
[root@192-168-9-168 ~] # yum install -y gcc gcc-c++ libtool libtool-ltdl-devel
make gd-devel freetype-devel libxml2-devel
libjpeg-devel libpng-devel openssl-devel patch [root@192-168-9-168 ~] # yum install -y curl-devel bzip2 pcre-devel zip2-devel bzip2-devel
[root@192-168-9-168 ~] # yum install -y mcrypt-devel zlib-devel wget
2、 #編譯安裝apr
[root@192-168-9-168 ~] # cd /usr/local/src/
[root@192-168-9-168 src] # wget https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.5.2.tar.bz2
[root@192-168-9-168 src] # tar xf apr-1.5.2.tar.bz2
[root@192-168-9-168 src] # cd apr-1.5.2
[root@192-168-9-168 apr-1.5.2] # ./configure --prefix=/usr/local/apr
[root@192-168-9-168 apr-1.5.2] # make && make install
3、編譯安裝apr-util [root@192-168-9-168 apr-1.5.2] # cd /usr/local/src/
[root@192-168-9-168 src] # wget https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.5.4.tar.bz2
[root@192-168-9-168 src] # tar xf apr-util-1.5.4.tar.bz2
[root@192-168-9-168 src] # cd apr-util-1.5.4
[root@192-168-9-168 apr-util-1.5.4] # ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[root@192-168-9-168 apr-util-1.5.4] # make && make install
4、編譯安裝httpd [root@192-168-9-168 apr-util-1.5.4] # useradd -s /sbin/nologin www
[root@192-168-9-168 apr-util-1.5.4] # cd /usr/local/src/
[root@192-168-9-168 src] # wget http://apache.fayea.com//httpd/httpd-2.4.20.tar.bz2
[root@192-168-9-168 src] # tar xf httpd-2.4.20.tar.bz2
[root@192-168-9-168 src] # cd httpd-2.4.20
[root@192-168-9-168 httpd-2.4.20] # ./configure --prefix=/usr/local/apache
--with-apr= /usr/local/apr
--with-apr-util= /usr/local/apr-util/
-- enable -so
-- enable -ssl
-- enable -cgi
-- enable -rewrite
--with-zlib --with-pcre -- enable -modules=most
-- enable -mpms-shared=all
--with-mpm=prefork [root@192-168-9-168 httpd-2.4.20] # make
[root@192-168-9-168 httpd-2.4.20] # make install
[root@192-168-9-168 httpd-2.4.20] # sed -i `s/User daemon/User www/g` /usr/local/apache/conf/httpd.conf
[root@192-168-9-168 httpd-2.4.20] # sed -i `s/Group daemon/Group www/g` /usr/local/apache/conf/httpd.conf
[root@192-168-9-168 httpd-2.4.20] # sed -i "/ServerName/s/#ServerName.*/ServerName localhost/g" /usr/local/apache/conf/httpd.conf
6、啟動方法 [root@192-168-9-168 httpd-2.4.20] #/usr/local/apache/bin/apachectl -k start|reload|restart|stop
7、測試驗證 [root@192-168-9-168 httpd-2.4.20] # curl -I http://192.168.9.168
HTTP /1 .1 200 OK
Date: Fri, 11 Aug 2017 15:22:43 GMT Server: Apache /2 .4.20 (Unix)
Last-Modified: Mon, 11 Jun 2007 18:53:14 GMT ETag: "2d-432a5e4a73a80"
Accept-Ranges: bytes Content-Length: 45 Content-Type: text /html
|
二、編譯安裝MySQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
1、 #下載安裝包
[root@192-168-9-168 httpd-2.4.20] # cd /usr/local/src/
[root@192-168-9-168 src] # wget https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz
2、 #建立執行mysql使用者和組為系統賬號
[root@192-168-9-168 src] # groupadd -r mysql
[root@192-168-9-168 src] # useradd -r -g mysql -s /sbin/nologin mysql
3、 #編譯安裝
[root@192-168-9-168 src] # yum install -y libaio libaio-devel numactl numactl-devel cmake ncurses-devel libxml2-devel libtool-ltdl-devel gcc-c++ autoconf automake bison zlib-devel
[root@192-168-9-168 src] # tar xf mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz
[root@192-168-9-168 src] # mv mysql-5.6.37-linux-glibc2.12-x86_64 /usr/local/mysql
#建議mysql使用獨立裝置獨立目錄,本實驗只建立目錄,獨立裝置請參考磁碟分割槽與掛載 [root@192-168-9-168 src] # mkdir -p /data0/mysql
#更改屬主屬組 [root@192-168-9-168 src] # chown -R mysql.mysql /usr/local/mysql
#初始化資料庫 [root@192-168-9-168 src] # cd /usr/local/mysql
[root@192-168-9-168 mysql] # ./scripts/mysql_install_db --datadir=/data0/mysql --user=mysql
[root@192-168-9-168 mysql] # cp ./support-files/my-default.cnf /data0/mysql/my.cnf
[root@192-168-9-168 mysql] # echo "basedir = /usr/local/mysql
datadir = /data0/mysql
port = 3306 server_id = 1000 socket = /tmp/mysql .sock" >> /data0/mysql/my .cnf
[root@192-168-9-168 mysql] # chown -R mysql.mysql /data0/mysql/
4,啟動: [root@192-168-9-168 mysql] # /usr/local/mysql/bin/mysqld_safe --defaults-file=/data0/mysql/my.cnf &
[root@192-168-9-168 mysql] # echo "/usr/local/mysql/bin/mysqld_safe --defaults-file=/data0/mysql/my.cnf &" >> /etc/rc.d/rc.local
6、 #安全初始化
#安全驗證初始化,設定root使用者密碼,刪除匿名使用者,禁止root使用者遠端連線,刪除test庫 [root@192-168-9-168 mysql] # ./bin/mysql_secure_installation
#匯出標頭檔案 [root@192-168-9-168 mysql] # ln -sv /usr/local/mysql/include/ /usr/include/mysql
#載入庫檔案 [root@192-168-9-168 mysql] # echo "/usr/local/mysql/lib/mysql/" >>/etc/ld.so.conf
[root@192-168-9-168 mysql] # ldconfig
[root@192-168-9-168 mysql] # echo "PATH=$PATH:/usr/local/mysql/bin/" >> /etc/profile
|
三、編譯安裝PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
1、 #編譯安裝libmcrypt擴充套件
[root@192-168-9-168 src] # cd /usr/local/src/
[root@192-168-9-168 src] # wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz
[root@192-168-9-168 src] # tar xf libmcrypt-2.5.7.tar.gz
[root@192-168-9-168 src] # cd libmcrypt-2.5.7
[root@192-168-9-168 libmcrypt-2.5.7] # ./configure
[root@192-168-9-168 libmcrypt-2.5.7] # make && make install
2、 #編譯安裝freetds擴充套件
[root@c local ] # cd /usr/local/src/
[root@c src] # wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-patched.tar.gz
[root@192-168-9-168 src] # tar xf freetds-patched.tar.gz
[root@192-168-9-168 src] # cd freetds-1.00.53/
[root@192-168-9-168 freetds-1.00.53] # ./configure --prefix=/usr/local/freetds --with-tdsver=7.4 --enable-msdblib
[root@192-168-9-168 freetds-1.00.53] # make && make install
[root@192-168-9-168 freetds-1.00.53] # export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/freetds/lib/
4、 #下載安裝包
[root@192-168-9-168 src] # cd /usr/local/src/
[root@192-168-9-168 src] # wget http://cn2.php.net/distributions/php-5.6.22.tar.bz2
[root@192-168-9-168 src] # tar xf php-5.6.22.tar.bz2
[root@192-168-9-168 src] # cd php-5.6.22
[root@192-168-9-168 php-5.6.22] # ./configure --prefix=/usr/local/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= /usr/local/apache/bin/apxs
--with-mcrypt --with-mssql= /usr/local/freetds
--with-bz2 -- enable -maintainer-zts
--with-curl -- enable - ftp
-- enable -bcmath
--with-gd --with-freetype- dir
-- enable -gd-native-ttf
--with-iconv- dir
-- enable -mbstring
-- enable -calendar
--with-gettext -- enable -dom
-- enable -fpm
#說明:如果php5.3以上的版本,為了連結資料庫,可以指定mysqlnd,這樣本機就可以不用安裝mysql和mysql開發包。5.4已經是預設設定。 如: --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd [root@192-168-9-168 php-5.6.22] # make
[root@192-168-9-168 php-5.6.22] # make install
#為php提供配置檔案 [root@192-168-9-168 php-5.6.22] # cp php.ini-development /usr/local/php/etc/php.ini
5、編輯apache配置檔案httpd.conf,apache支援php [root@192-168-9-168 php-5.6.22] # sed -i `/LoadModule php5_module/ aAddType application/x-httpd-php-source .phps` /usr/local/apache/conf/httpd.conf
[root@192-168-9-168 php-5.6.22] # sed -i `/LoadModule php5_module/ aAddType application/x-httpd-php .php .php5` /usr/local/apache/conf/httpd.conf
[root@192-168-9-168 php-5.6.22] # sed -i `/DirectoryIndex/ s/index.html/index.php index.html/` /usr/local/apache/conf/httpd.conf
#重啟httpd [root@192-168-9-168 php-5.6.22] # /usr/local/apache/bin/apachectl -k restart
4、測試驗證php "<?php
phpinfo();
?>" > /usr/local/apache/htdocs/index .php
5、瀏覽器訪問: http: //192 .168.9.168
5、測試驗證php連線資料庫 [root@192-168-9-168 php-5.6.22] # vim index.php
<?php $link = mysql_connect( `127.0.0.1` , `root` , `123456` );
if ($link)
echo "Success..." ;
else
echo "Failure..." ;
mysql_close()
?> #瀏覽器訪問 http: //192 .168.9.168
6、 #ab壓力測試
[root@192-168-9-168 php-5.6.22] # ab -c 100 -n 10000
四、測試Xcache為php加速 1、 #編譯安裝
[root@192-168-9-168 htdocs] # cd /usr/local/src/
[root@192-168-9-168 src] # tar xf xcache-3.2.0.tar.bz2
[root@192-168-9-168 src] # cd xcache-3.2.0
[root@192-168-9-168 xcache-3.2.0] # /usr/local/php/bin/phpize
[root@192-168-9-168 xcache-3.2.0] # ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config
[root@192-168-9-168 xcache-3.2.0] # make && make install
2、 #編輯php.ini,整合php和xcache
[root@192-168-9-168 xcache-3.2.0] # mkdir -p /etc/php.d
[root@192-168-9-168 xcache-3.2.0] # cp xcache.ini /etc/php.d
#重啟apache [root@192-168-9-168 xcache-3.2.0] # apachectl -k restart
#壓力測試,看效果 |
本文轉自 wpf926 51CTO部落格,原文連結:http://blog.51cto.com/wupengfei/1955720,如需轉載請自行聯絡原作者
相關文章
- Centos6.5搭建LAMPCentOSLAMP
- CentOS6.7原始碼搭建LAMP平臺CentOS原始碼LAMP
- apache、php、mysql各工作於獨立主機的lamp平臺實現ApachePHPMySqlLAMP
- 基於ansibleRole實現批量部署lamp平臺LAMP
- 基於 junit5 實現 junitperf 原始碼分析原始碼
- centos6.5搭建phpCentOSPHP
- PHP直播平臺原始碼搭建教程PHP原始碼
- PHP開發大牛必修課——LAMP平臺搭建PHPLAMP
- php環境搭建---LAMPPHPLAMP
- 直播平臺搭建原始碼,純js實現編輯器撤消/重做原始碼JS
- Linux下原始碼搭建LAMP環境Linux原始碼LAMP
- LAMP--原始碼MySQL叢集版搭建LAMP原始碼MySql
- Centos下搭建LAMP+PHPCentOSLAMPPHP
- 基於vue實現一個簡單的MVVM框架(原始碼分析)VueMVVM框架原始碼
- 一臺機器4g快取實現方式快取
- 單例模式:5種實現方式單例模式
- 【基於OpenAI的ChatGPT】搭建屬於自己的微信聊天機器人(附帶註冊英國手機號碼方式)OpenAIChatGPT機器人
- centos7.3搭建lamp實現使用wordpressCentOSLAMP
- lamp環境搭建與phpwind,wordprss實現LAMPPHP
- 基於 Webpack5 Module Federation 的業務解耦實踐Web解耦
- [LAMP]安裝PHP5/7LAMPPHP
- Go語言基於go module方式管理包(package)GoPackage
- 直播平臺搭建原始碼,bootstrap實現圖片輪播效果原始碼boot
- 原始碼安裝lamp原始碼LAMP
- 基於Redisson實現分散式鎖原始碼解讀Redis分散式原始碼
- 基於ES5`defineProperty` 實現簡單的 Mvvm框架MVVM框架
- PHP實現基於文字的莫斯電碼生成器PHP
- 5.3 Spring5原始碼--Spring AOP使用介面方式實現Spring原始碼
- PHP實現BitMEX API POST方式委託掛單PHPAPI
- 搭建LAMP中安裝PHP遇到的故障LAMPPHP
- 直播平臺搭建原始碼,使用EasyExcel實現匯入匯出功能原始碼Excel
- 在原始碼安裝的LAMP環境中搭建Nagios原始碼LAMPiOS
- 編譯搭建LAMP伺服器編譯LAMP伺服器
- 基於51微控制器的藍芽控制小車的簡單實現(有原始碼,無圖) (上篇)藍芽原始碼
- 基於 Probot 實現 GitHub NPM 釋出機器人?GithubNPM機器人
- 基於docker 搭建redis環境—redis單機版DockerRedis
- 兩個機器人聊天對話實現原始碼機器人原始碼
- 手機直播原始碼,當前頁卡指示器的簡單實現方法原始碼