LA(N)MP 編譯安裝

注意:使用 su 或者 sudo 超級(jí)管理員權(quán)限

PHP


# 下載 php 源碼包
[root@VM_77_151_centos ~]# wget http://php.net/get/php-7.1.1.tar.gz/from/a/mirror
[root@VM_77_151_centos ~]# tar -zxvf mirror  
#安裝依賴
[root@VM_77_151_centos ~]# yum install gcc gcc++ libxml2-devel
[root@VM_77_151_centos ~]# cd php-7.1.1
# --with-config-file-path=path 指定配置路徑
[root@VM_77_151_centos php-7.1.1]# ./configure --prefix=/usr/local/php \
--enable-mysqlnd --enable-opcache --enable-sockets --enable-sysvmsg \
--enable-sysvsem  --enable-sysvshm --enable-shmop --enable-zip \
--enable-ftp --enable-soap --enable-xml --enable-mbstring --disable-rpath \
--disable-debug --disable-fileinfo \
--with-pdo-mysql=mysqlnd --with-pcre-regex \
--with-iconv --with-zlib --with-openssl --with-xmlrpc \
--with-curl --with-imap-ssl --with-freetype-dir --enable-fpm \
--enable-pcntl --with-mhash 

[root@VM_77_151_centos php-7.1.1]# make
[root@VM_77_151_centos php-7.1.1]# make install
# 拷貝 php.ini-development 或 php.ini-production 文件 更名為到/usr/local/php7/lib目錄 更名為 php.ini
[root@VM_77_151_centos php-7.1.1]# cp php.ini-development /usr/local/php7/lib/php.ini

MySQL


# 下載 mysql 源碼包
[root@VM_77_151_centos ~]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17.tar.gz
[root@VM_77_151_centos ~]# tar -zxvf mysql-5.7.17.tar.gz  
# 安裝依賴和工具
[root@VM_77_151_centos ~]# yum install cmake gcc-c++ ncurses-devel perl-Data-Dump boost boost-doc boost-devel
[root@VM_77_151_centos ~]# cd mysql-5.7.17
[root@VM_77_151_centos mysql-5.7.17]# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/mydata/mysql/data \
-DSYSCONFDIR=/etc \
-DMYSQL_USER=mysql \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock  \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DENABLED_DOWNLOADS=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_DEBUG=0 \
-DMYSQL_MAINTAINER_MODE=0 \
-DWITH_SSL:STRING=bundled \
-DWITH_ZLIB:STRING=bundled \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/share/doc/boost-doc-1.59.0/ \
-DOWNLOAD_BOOST_TIMEOUT=3600

# 或者
[root@VM_77_151_centos mysql-5.7.17]# wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
[root@VM_77_151_centos mysql-5.7.17]# mkdir /usr/share/doc/boost-doc-1.59.0
[root@VM_77_151_centos mysql-5.7.17]# cp ./boost_1_59_0.tar.gz /usr/share/doc/boost-doc-1.59.0/

[root@VM_77_151_centos mysql-5.7.17]# make

# 如果編譯過(guò)程出現(xiàn)以下錯(cuò)誤,內(nèi)存不足壤蚜,可以建立swap分區(qū)解決
c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
make[2]: *** [sql/CMakeFiles/sql.dir/item_geofunc.cc.o] Error 4
make[1]: *** [sql/CMakeFiles/sql.dir/all] Error 2
make: *** [all] Error 2

[root@VM_77_151_centos mysql-5.7.17]# make
[100%] Built target my_safe_process
[root@VM_77_151_centos mysql-5.7.17]# make install
# 創(chuàng)建 mysql 用戶和 mysql 用戶組
[root@VM_77_151_centos ~]# groupadd -r mysql && useradd -r -g mysql -s /bin/false -M mysql
# 創(chuàng)建數(shù)據(jù)庫(kù)存放目錄,以及權(quán)限修改
[root@VM_77_151_centos mysql]# mkdir -p /usr/local/mysql/data && chown -R root:mysql /usr/local/mysql/
[root@VM_77_151_centos mysql]# chown -R mysql:mysql /usr/local/mysql/data/
[root@VM_77_151_centos mysql]# chmod -R go-rwx /usr/local/mysql/data/
# 初始化 MySQL 數(shù)據(jù)庫(kù)
[root@VM_77_151_centos bin]# /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
# 啟動(dòng)
[root@VM_77_151_centos bin]# /usr/local/mysql/support-files/mysql.server start
[root@VM_77_151_centos lib]# echo "/usr/local/mysql/lib" > /etc/ld.so.conf.d/mysql.conf

Apache


[root@VM_77_151_centos ~]# wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.25.tar.gz
[root@VM_77_151_centos ~]# tar -zxvf httpd-2.4.25.tar.gz
# 安裝依賴 apr apr-util pcre
[root@VM_77_151_centos ~]# wget http://archive.apache.org/dist/apr/apr-1.5.2.tar.gz
[root@VM_77_151_centos ~]# wget http://archive.apache.org/dist/apr/apr-util-1.5.4.tar.gz
[root@VM_77_151_centos ~]# tar -zxvf apr-1.5.2.tar.gz
[root@VM_77_151_centos ~]# tar -zxvf apr-util-1.5.4.tar.gz
[root@VM_77_151_centos ~]# mv apr-1.5.2 apr
[root@VM_77_151_centos ~]# mv apr-util-1.5.4 apr-util
[root@VM_77_151_centos ~]# mv apr apr-util httpd-2.4.25/srclib/
[root@VM_77_151_centos ~]# wget https://fossies.org/linux/misc/pcre-8.39.tar.gz
[root@VM_77_151_centos ~]# tar pcre-8.39.tar.gz
[root@VM_77_151_centos ~]# cd pcre-8.39
[root@VM_77_151_centos pcre-8.39]# ./configure --prefix=/usr/local/pcre-8.39
# 編譯 安裝
[root@VM_77_151_centos ~]# cd ~./httpd-2.4.25
[root@VM_77_151_centos httpd-2.4.25]# ./configure --prefix=/usr/local/apache -with-pcre=/usr/local/pcre-8.39/bin/pcre-config -with-included-apr --with-apxs2=/usr/local/apache/bin/apxs
[root@VM_77_151_centos httpd-2.4.25]# make
[root@VM_77_151_centos httpd-2.4.25]# make install
[root@VM_77_151_centos httpd-2.4.25]# cd /usr/local/apache/bin
[root@VM_77_151_centos bin]# ./apachectl -k start
# 防火墻啟動(dòng)80端口
[root@VM_77_151_centos bin]# firewall-cmd --zone=public --add-port=80/tcp --permanent
[root@VM_77_151_centos bin]# systemctl restart firewalld.service

Nginx


[root@VM_77_151_centos ~]# wget http://nginx.org/download/nginx-1.10.3.tar.gz
[root@VM_77_151_centos ~]# tar -zxvf 1.10.3.tar.gz
[root@VM_77_151_centos ~]#cd nginx-1.10.3/
[root@VM_77_151_centos nginx-1.10.3]#  ./configure --prefix=/usr/local/nginx --with-pcre=../pcre-8.39
[root@VM_77_151_centos nginx-1.10.3]# make
[root@VM_77_151_centos nginx-1.10.3]# make install
[root@VM_77_151_centos nginx-1.10.3]# cd /usr/local/nginx/
# 啟動(dòng) Nginx 前先將 Apache 的進(jìn)程關(guān)閉
[root@VM_77_151_centos nginx]# ./sbin/nginx

配置PHP


# 拷貝默認(rèn)配置
[root@VM_77_151_centos sbin]# cd /usr/local/php7/etc/
[root@VM_77_151_centos etc]# cp php-fpm.conf.default php-fpm.conf
[root@VM_77_151_centos etc]# cd php-fpm.d
[root@VM_77_151_centos php-fpm.d]# cp www.conf.default www.conf
# 啟動(dòng) php-fpm
[root@VM_77_151_centos php-fpm.d]# cd /usr/local/php7/sbin/

安裝Swoole插件


#安裝依賴
[root@VM_77_151_centos ~]# yum install pcre-devel
[root@VM_77_151_centos ~]# yum install autoconf
# 下載 swoole 源碼包
tar zxf v4.2.12.tar.gz
[root@VM_77_151_centos ~]# wget https://github.com/swoole/swoole-src/archive/v4.2.12.tar.gz
[root@VM_77_151_centos ~]# tar -zxvf v4.2.12.tar.gz
# 生成 configure 文件
[root@VM_77_151_centos ~]# cd swoole-src-4.2.12
[root@VM_77_151_centos swoole-src-4.2.12]# phpize
# --with-php-config=path 指定配置文件
[root@VM_77_151_centos swoole-src-4.2.12]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@VM_77_151_centos swoole-src-4.2.12]# make
[root@VM_77_151_centos swoole-src-4.2.12]# make install
# 配置 php.ini 添加 extension=swoole
[root@VM_77_151_centos swoole-src-4.2.12]# vim /usr/local/php/lib/php.ini
extension=swoole
# 重啟 php-fpm
[root@VM_77_151_centos swoole-src-4.2.12]# ps aux | grep php-fpm
root     10040  0.0  0.1 163436  3428 ?        Ss   11:08   0:00 php-fpm: master process (/usr/local/php7/etc/php-fpm.conf)
nobody   10041  0.0  0.1 163436  3036 ?        S    11:08   0:00 php-fpm: pool www
nobody   10042  0.0  0.1 163436  3036 ?        S    11:08   0:00 php-fpm: pool www
root     10056  0.0  0.0 112704   976 pts/5    S+   11:10   0:00 grep --color=auto php-fpm
# kill 掉 master 主進(jìn)程 pid
[root@VM_77_151_centos swoole-src-4.2.12]# kill -USR2 10040

配置 Nginx 解析 .php 文件

[root@VM_77_151_centos nginx]# vim conf/nginx.conf
# 添加如下配置
#http {
#    server {
#        location ~ \.php$ {
#                fastcgi_pass   127.0.0.1:9000;
#                fastcgi_index  index.php;
#                include /usr/local/nginx/conf/fastcgi_params;
#                #include fastcgi_params;
#                fastcgi_split_path_info         ^(.+\.php)(/.+)$;
#                fastcgi_param PATH_INFO         $fastcgi_path_info;
#                fastcgi_param PATH_TRANSLATED   $document_root$fastcgi_path_info;
#                fastcgi_param SCRIPT_FILENAME   $document_root$fastcgi_script_name;
#       }
#    }
#}
# 重啟 Nginx
[root@VM_77_151_centos nginx]# sbin/nginx -s reload

參考


swap分區(qū):http://blog.csdn.net/tongyijia/article/details/50783083
參考:http://www.imooc.com/learn/703
https://typecodes.com/web/centos7compilemysql.html?utm_source=tuicool&utm_medium=referral

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市漓库,隨后出現(xiàn)的幾起案子剩瓶,更是在濱河造成了極大的恐慌曹傀,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件形用,死亡現(xiàn)場(chǎng)離奇詭異就轧,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)田度,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門妒御,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人镇饺,你說(shuō)我怎么就攤上這事乎莉。” “怎么了奸笤?”我有些...
    開(kāi)封第一講書人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵惋啃,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我监右,道長(zhǎng)边灭,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任健盒,我火速辦了婚禮绒瘦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘扣癣。我一直安慰自己椭坚,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布搏色。 她就那樣靜靜地躺著善茎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪频轿。 梳的紋絲不亂的頭發(fā)上垂涯,一...
    開(kāi)封第一講書人閱讀 49,079評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音航邢,去河邊找鬼耕赘。 笑死,一個(gè)胖子當(dāng)著我的面吹牛膳殷,可吹牛的內(nèi)容都是我干的操骡。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼赚窃,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼册招!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起勒极,我...
    開(kāi)封第一講書人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤是掰,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后辱匿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體键痛,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡炫彩,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了絮短。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片江兢。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖丁频,靈堂內(nèi)的尸體忽然破棺而出划址,到底是詐尸還是另有隱情,我是刑警寧澤限府,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布夺颤,位于F島的核電站,受9級(jí)特大地震影響胁勺,放射性物質(zhì)發(fā)生泄漏世澜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一署穗、第九天 我趴在偏房一處隱蔽的房頂上張望寥裂。 院中可真熱鬧,春花似錦案疲、人聲如沸封恰。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)诺舔。三九已至,卻和暖如春备畦,著一層夾襖步出監(jiān)牢的瞬間低飒,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工懂盐, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留褥赊,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓莉恼,卻偏偏與公主長(zhǎng)得像拌喉,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子俐银,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 傳送門www.reibang.com/p/571015904536# 數(shù)據(jù)庫(kù)安裝可參考 http://www.ru...
    eyuxiog閱讀 205評(píng)論 0 0
  • 1.寫在前面 本文主要介紹的是zabbix的編譯安裝過(guò)程尿背,包含它的基礎(chǔ)環(huán)境LNMP,雖然zabbix官方一般推薦的...
    天之藍(lán)色閱讀 2,525評(píng)論 0 16
  • 1. Nginx的模塊與工作原理 Nginx由內(nèi)核和模塊組成悉患,其中残家,內(nèi)核的設(shè)計(jì)非常微小和簡(jiǎn)潔榆俺,完成的工作也非常簡(jiǎn)單...
    rosekissyou閱讀 10,196評(píng)論 5 124
  • 我還未成年 弟弟讀小學(xué) 爸爸外面有了私生子 媽媽不知道 家里有兩套房子 房產(chǎn)證是爸爸的名字 我該怎么辦
    隔壁家老王閱讀 150評(píng)論 0 1
  • 從香菱的判詞來(lái)看回窘,她是沒(méi)能善終的。 根并荷花一莖香市袖,平生遭際實(shí)堪傷啡直。自從兩地生孤木,致使香魂返故鄉(xiāng)苍碟。 平生際遇實(shí)堪...
    浮生漫讀閱讀 1,149評(píng)論 0 5