Centos7下編譯安裝配置Nginx+PHP+MySql環(huán)境
序言
這次玩次狠得。除了編譯器使用yum安裝,其他全部手動(dòng)編譯。哼~
看似就Nginx、PHP、MySql三個(gè)東東,但是它們太尼瑪依賴別人了。
沒辦法,想用它們就得老老實(shí)實(shí)給它們提供想要的東西。
首先的一些模塊依賴一些lib庫,
如果你是懶人,就順著下面的命令分別輸入就行了。然后直接看配置篇。(不過這樣安裝的可不是最新版本的喲)
----------------安裝Nginx+PHP+MySql ----------------------
1.1 安裝或更新gcc gcc-c++
因?yàn)槲野惭b的Centos是絕對純潔滴。啥也沒有。沒轍了。只有先安裝個(gè)編譯器了。
# yum install gcc gcc-c++
1.2 創(chuàng)建需要使用的目錄
source 是用來存放源碼的文件夾。package是用來存放編譯后的庫文件。lnmp是我們真正需要的東西才放里面。(nginx+mysql+memcached+php)
# mkdir /source/ # mkdir /package/ # mkdir /lnmp/
二、開始安裝(nginx篇)
2.1 解壓pcre
[官方網(wǎng)站] http://www.pcre.org/
命令流程:
# cd /source/ # wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.38/pcre-8.38.tar.gz # tar -zxvf pcre-8.38.tar.gz
說明:不需要編譯,只需要解壓就行。
2.2 解壓zlib
[官方網(wǎng)站] http://zlib.net/
命令流程:
# cd /source/ # wget http://zlib.net/zlib-1.2.8.tar.gz # tar -zxvf zlib-1.2.8.tar.gz
說明:不需要編譯,只需要解壓就行。
2.3 安裝nginx
[官方網(wǎng)站] http://nginx.org/
命令流程:
# cd /source/ # wget http://nginx.org/download/nginx-1.8.0.tar.gz # tar -zxvf nginx-1.8.0.tar.gz # cd nginx-1.8.0 # ./configure --prefix=/lnmp/nginx --with-pcre=/source/pcre-8.38 --with-zlib=/source/zlib-1.2.8 # make # make install
--with-pcre:用來設(shè)置pcre的源碼目錄。
--with-zlib:用來設(shè)置zlib的源碼目錄。
因?yàn)榫幾gnginx需要用到這兩個(gè)庫的源碼。
小章總結(jié):
此處告一段落,nginx安裝完成。我們可以先滿足下自己的欲望心。打開nginx服務(wù)看看Hello World吧。
啟動(dòng)nginx
# /lnmp/nginx/sbin/nginx
啟動(dòng)后可以再瀏覽器中打開頁面,會(huì)顯示nginx默認(rèn)頁面。
三、開始安裝(php篇)
3.1 安裝libxml2
[官方網(wǎng)站] http://xmlsoft.org/
命令流程:
# cd /source/ # wget ftp://xmlsoft.org/libxml2/libxml2-2.9.3.tar.gz # tar -zxvf libxml2-2.9.3.tar.gz # cd libxml2-2.9.3 # ./configure \ # --prefix=/package/libxml2 --with-python=no # make # make install
這里--with-python=no是
3.2 安裝php
[官方網(wǎng)站] http://php.net/
命令流程:
# cd /source/ # wget http://cn2.php.net/distributions/php-7.0.2.tar.gz # tar -zxvf php-7.0.2.tar.gz # cd php-7.0.2 # ./configure \ # --prefix=/lnmp/php \ # --with-libxml-dir=/package/libxml2 \ //打開libxml2庫的支持 # --with-config-file-path=/lnmp/php/etc \ //配置文件所在目錄 # --enable-mbstring \ //支持mbstring庫 # --enable-fpm \ //支持php-fpm(推薦打開) # --with-mysqli //打開mysqli模塊 # make # make install
四、開始安裝(mysql篇)
4.1 安裝cmake
[官方網(wǎng)站] https://cmake.org/
命令流程:
# wget https://cmake.org/files/v3.4/cmake-3.4.1.tar.gz # tar -zxvf cmake-3.4.1.tar.gz # cd cmake-3.4.1 # ./configure --prefix=/package/cmake # make # make install # export PATH=/package/cmake/bin:$PATH //設(shè)置環(huán)境變量??珊雎裕皇菫榱四阋院笫褂胏make方便點(diǎn)。
4.2 安裝ncurses
[官方網(wǎng)站] http://ftp.gnu.org/gnu/ncurses/
命令流程:
# wget http://ftp.gnu.org/gnu/ncurses/ncurses-6.0.tar.gz # tar -zxvf ncurses-6.0.tar.gz # cd ncurses-6.0 # ./configure --prefix=/package/ncurese # make # make install
4.3 安裝mysql
[官方網(wǎng)站] http://www.mysql.com/
命令流程:
不帶boost安裝方式
// 這個(gè)是不帶boost版本的mysql源碼。你可以使用以下的參數(shù)在編譯過程中自動(dòng)下載boost // -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/package/boost # wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.10.tar.gz # tar -zxvf mysql-5.7.10.tar.gz # cd mysql-5.7.10 # cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ # -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/package/boost \ //設(shè)置自動(dòng)下載boost庫,并放到-DWITH_BOOST指定的路徑里。 # -DCURSES_LIBRARY=/package/ncurses/lib/libncurses.a \ //ncurses庫libncurses.a # -DCURSES_INCLUDE_PATH=/package/ncurses/include //ncurses庫頭文件 # make # make install
自帶boost安裝方式
# wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-5.7.10.tar.gz # tar -zxvf mysql-boost-5.7.10.tar.gz # cd mysql-5.7.10 # cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ # -DWITH_BOOST=/boost/boost_1_59_0 //boost庫的路徑 # -DCURSES_LIBRARY=/package/ncurese/lib/libncurses.a \ //ncurses庫libncurses.a # -DCURSES_INCLUDE_PATH=/package/ncurses/include //ncurses庫頭文件 # make # make install
說明:mysql從5.7版本后就需要boost庫的支持了。并且非常惡心的是mysql需要指定的boost版本號(hào),高了或低了都有可能導(dǎo)致編譯不通過。
到此,使用CentOS7上常用的、全新的Web模塊基本已經(jīng)完成了,剩下的就是對這些軟件進(jìn)行配置咯。哈哈,其實(shí)代碼多,但是了解后真的挺簡單,就那幾個(gè)命令。怎么樣?是不是蠻簡單的。
----------------配置Nginx+PHP+MySql ------------------------
一、準(zhǔn)備工作
1.1 安裝vim
# yum install vim
二、開始配置(nginx篇)
2.1 修改nginx.conf
# vim nginx.conf
2.2 找到如下內(nèi)容,并刪除紅色標(biāo)記的字符
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #}
2.3 修改完成
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
2.4 輸出phpinfo文件
echo "<?php echo phpinfo(); ?>" > /lnmp/nginx/html/index.php
2.5 啟動(dòng)nginx
/lnmp/nginx/sbin/nginx
小章總結(jié):
完成上面的修改就可以讓nginx來轉(zhuǎn)發(fā)php的動(dòng)態(tài)腳本請求。
不過目前還不能打開php文件,因?yàn)檫€沒有打開php-fpm。
我們繼續(xù)向下看。
三、開始配置(php-fpm)
3.1 copy默認(rèn)配置文件
# cd /source/php-7.0.2 # cp php.ini-development /lnmp/php/etc/php.ini # cd /lnmp/php/etc # cp php-fpm.conf.default php-fpm.conf # cd /lnmp/php/etc/php-fpm.d/ # cp www.conf.default www.conf
3.2 運(yùn)行php-fpm
# /lnmp/php/sbin/php-fpm -c /lnmp/php/etc/php.ini
二、常用命令
nginx常用命令
啟動(dòng)nginx
# /lnmp/nginx/sbin/nginx
重啟nginx
# /lnmp/nginx/sbin/nginx -s reload
關(guān)閉nginx
# /lnmp/nginx/sbin/nginx -s stop
php-fpm常用命令
啟動(dòng)php-fpm
# /lnmp/php/sbin/php-fpm -c /lnmp/php/etc/php.ini
重啟php-fpm
# kill -SIGUSR2 `cat /lnmp/php/var/run/php-fpm.pid`
關(guān)閉php-fpm
# kill -SIGINT `cat /lnmp/php/var/run/php-fpm.pid`
信號(hào)解釋:
- SIGINT, SIGTERM 立刻終止
- SIGQUIT 平滑終止
- SIGUSR1 重新打開日志文件
- SIGUSR2 平滑重載所有worker進(jìn)程并重新載入配置和二進(jìn)制模塊
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Linux內(nèi)核設(shè)備驅(qū)動(dòng)之字符設(shè)備驅(qū)動(dòng)筆記整理
今天小編就為大家分享一篇關(guān)于Linux內(nèi)核設(shè)備驅(qū)動(dòng)之字符設(shè)備驅(qū)動(dòng)筆記整理,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-12-12Apache服務(wù)器一個(gè)IP多個(gè)站點(diǎn)的配置方法示例
這篇文章主要介紹了Apache服務(wù)器一個(gè)IP多個(gè)站點(diǎn)的配置方法示例,本文介紹的方法其實(shí)就是虛擬主機(jī)的方式,需要的朋友可以參考下2015-07-07ubuntu20.04虛擬機(jī)無法上網(wǎng)的問題及解決
這篇文章主要介紹了ubuntu20.04虛擬機(jī)無法上網(wǎng)的問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12CentOS 6.5上編譯安裝Apache服務(wù)器的方法(最小化安裝)
這篇文章主要介紹了CentOS 6.5上編譯安裝Apache服務(wù)器的方法(最小化安裝),需要的朋友可以參考下2017-09-09linux如何為已存在的用戶創(chuàng)建home目錄
這篇文章主要介紹了linux如何為已存在的用戶創(chuàng)建home目錄問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04