LNMP環境搭建

2022-08-09 16:27:27 字數 3661 閱讀 4800

linux+nginx+mysql+php/perl/python

一、安裝 gcc(編譯) gcc-c++(用於新版本的mysql) make cmake libtool(工具) ncurses-devel

二、安裝nginx

三、安裝mysql資料庫

1、編譯安裝mysql

tar zxf /usr/src/mysql-

cd mysql-

cmake . -dcmake_install_prefix=/usr/local/mysql(指定路徑) 配置環境,功能相當於./configure

make && make install 編譯安裝

2.配置mysql

cp support-files/my-default.cnf /etc/my.cnf 生成mysql的主配置檔案,命名為/etc/my.cnf

cd /usr/local/mysql 跳轉到mysql預設安裝的目錄下

ll 屬主屬組都是root

useradd -s /sbin/nologin mysql 建立使用者mysql,用於登入mysql資料庫

chown -r mysql.mysql . 更改當前路徑下所有檔案為屬主.屬組為mysql

scripts/mysql_install_db --user=mysql 讓mysql使用者身份初始化資料庫

chown -r root . 更改屬主,限制只有管理員root有許可權管理資料庫的配置

chown -r mysql data/ 更改資料資料夾data/屬主為mysql,資料庫內資料的管理

/usr/local/mysql/bin/mysqld_safe --user=mysql & 以mysql使用者執行開啟mysql資料庫(後台執行)

echo "/usr/local/mysql/bin/mysqld_safe --user=mysql &" >> /etc/rc.local

設定mysql開機啟動,將其加入開機第乙個指令碼

netstat -tnlp 檢視mysql服務是否開啟,mysql預設埠號3306

/usr/local/mysql/bin/mysql -u root -p 以root身份登入mysql資料庫伺服器

show databases;顯示所有的資料庫

exit退出

四、安裝動態**相關的庫和軟體:

1.tar -xvf jpegsrc…解包

2.cd jpegsrc 跳轉到剛剛解包的路徑

2.編譯安裝

./configure &&make &&make install

依次安裝以下軟體包:

jpegsrc.v8b.tar 影象壓縮

freetpye- 字型引擎,支援多種字型格式檔案

zlib- 函式庫

libpng- png影象檔案儲存格式

gd- 支援庫

libxml2- c語言版的解析器

五、安裝php解析環境

較新版本(如5.3)的php已經自帶fpm(fastcgi process manager,fastcgi程序管理器)模組,用來對php解析例項進行管理,優化解析效率,因此在配置php編譯選項時應新增」–enable-fpm」以啟用此模組。為了提高php解析效率,建議將相應版本的zendguardlander也裝上。

1、解壓並配置php

tar zxf php-5.3.6.tar.gz

cd php-5.3.6

./configure --prefix=/usr/local/php --with-gd --with-zlib --with-mysql=/usr/local/mysql --with-config-file=/usr/local/php --with-gd-dir=/usr/lib --with-ttf(連線freetype) --with-zlib-dir --with-jpeg-dir --with-png-dir -enable-mbstring(多位元組,字串的支援) -enable-fpm

排錯:配置如果「configure:error: libpng.(a|so) not found.」錯誤。

解決方法:

根據報錯發現是因為libpng.so和libpng.a找不到,檢查libpng的相關軟體是否已經安裝,如果已安裝,需要將「/usr/lib64/libpng*」庫檔案拷貝到「/usr/lib」下。執行如下命令:

cp -frp /usr/lib64/libpng* /usr/lib

原因:因為configure一般的搜尋編譯路徑為/usr/lib/下,而x64位的系統預設在「/usr/lib64」下,因此需要拷貝到「/usr/lib」目錄下。

如果報configure: error: libjpeg.(a|so) not found錯誤解決方法和上面的解決方法類似。

2、編譯安裝php,並配置安裝後的調整

make && make install

cp php.ini-development /usr/local/php/etc/php.ini

ln -s /usr/local/php/bin/* /usr/loacl/bin

ln -s /usr/local/php/sbin/* /usr/local/sbin

3、配置nginx支援php環境

若要讓nginx能夠解析php網頁,有兩種方法可以選擇;其一,充當中介,將訪問php頁面的web請求轉交給其他伺服器(lamp)去處理;其二,通過使用php的fpm模組來呼叫本機的php環境,在此選擇後者。

php-fpm 是 乙個 php fastcgi 程序管理器 fastcgi是乙個可伸縮的,高速地在web server和指令碼語言間互動的介面。

如果選用fpm方式,則需要先啟動php-fpm程序,以便監聽php解析請求。

建立php-fpm.conf配置檔案,並修改其中的pid檔案、執行使用者、服務數(程序數量)等相關設定,然後啟動php-fpm程式即可(預設監聽本機的9000埠)

cd /usr/local/php/etc/

cp php-fpm.conf.default php-fpm.conf

啟動php-fpm,並檢視位址監聽。

/usr/local/php/sbin/php-fpm

netstat -anpt | grep php-fpm

4、配置nginx支援php解析

無論是將php頁面交給lamp伺服器去解析,還是呼叫本機的php-fpm程序進行解析,都需要在」server{}」配置段中新增location設定,以便指定當訪問.php面頁時採取何種操作。

方法一:轉交給其他web伺服器處理,例如:交給ip位址為192.168.0.200的lamp伺服器處理,從而實現由nginx負責靜態頁面,lamp負責動態頁面的分離效果。

server

}上面這種寫法只是傳送以.php為字尾的頁面訪問請求給其他web伺服器,如果有其格式的檔案訪問(如:html、jpg等)就會出問題。訪問不了了。

方法二:呼叫本機的php-fpm程序,使用的配置語句如下所示。在conf/目錄下的fastcgi.conf檔案中已經包含必需的巨集設定,可通過include語句新增進來。

server

}server

location ~ .php$

}service nginx restart

5、訪問測試

搭建LNMP環境

yum install nginx yserver error page 404 404.html location 40x.html error page 500 502 503 504 50x.html location 50x.html 修改完成後,啟動 nginx nginx此時,可訪問來確...

lnmp環境搭建

lnmp版本 nginx1.12.1 php7.1.8 mysql5.6.37 php和nginx包 提取碼 ggmf 安裝前先安裝依賴 已經安裝了可能會進行公升級,版本完全一致則不會進行任何操作。yum y install bzip2 devel curl devel freetype devel...

LNMP環境搭建

lnmp linux nginx mysql php 是常用的 架構組合,對於 開發以及運維人員來說,這一套環境的配置都必須要掌握,本文是站在乙個運維人員的角度通過原始碼編譯的方式來搭建這樣一套環境,所針對平台為rhel6.5,軟體版本分別為mysql boost 5.7.11 php 5.6.31...