如何搭建 LNMP 網(wǎng)站服務(wù)環(huán)境

      網(wǎng)友投稿 875 2025-04-01

      LNMP指的是一個基于CentOS/Debian編寫的Nginx、PHP、MySQL一鍵安裝包。可以在VPS、獨立主機上輕松的安裝LNMP生產(chǎn)環(huán)境。LNMP代表的就是:Linux系統(tǒng)下Nginx+MySQL+PHP這種網(wǎng)站服務(wù)器架構(gòu)。


      Linux是一類Unix計算機操作系統(tǒng)的統(tǒng)稱,是目前最流行的免費操作系統(tǒng)。代表版本有:debian、centos、ubuntu、fedora、gentoo等。

      Nginx是一個高性能的HTTP和反向代理服務(wù)器,也是一個IMAP/POP3/SMTP代理服務(wù)器

      Mysql是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。

      PHP是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語言

      這四種軟件均為免費開源軟件,組合到一起,成為一個免費、高效、擴展性強的網(wǎng)站服務(wù)系統(tǒng)。 本文將教你在華為云上搭建LNMP網(wǎng)站服務(wù)環(huán)境。分為四大部分,第一部分為安裝Nginx,第二部分為安裝MySql數(shù)據(jù)庫服務(wù),第三部分為搭建PHP運行環(huán)境,第四部分配置使用Nginx代理轉(zhuǎn)發(fā)PHP數(shù)據(jù)。

      安裝Nginx環(huán)境

      安裝Nginx有兩種方法,分別為使用apt包管理工具安裝和使用編譯方式進行安裝。如果你使用的是Ubuntu系統(tǒng),則可以按照本教程使用apt包管理工具進行安裝。

      首先,我們需要使用sudo apt-get update更新當前系統(tǒng)下apt包管理器的列表。然后使用sudo apt-get install nginx命令安裝Nginx軟件。

      sudo?apt-get?update sudo?apt-get?install?nginx

      輸入后你會看到如下輸出

      ubuntu@VM-0-7-ubuntu:~$?sudo?apt-get?install?nginx Reading?package?lists...?Done Building?dependency?tree Reading?state?information...?Done The?following?additional?packages?will?be?installed:........Need?to?get?2,857?kB?of?archives.After?this?operation,?9,307?kB?of?additional?disk?space?will?be?used.Do?you?want?to?continue??[Y/n]

      這里詢問我們是否安裝,我們按下鍵盤上的Y,然后按下回車鍵,之后,你會看到類似如下輸出:

      Get:1?http://mirrors.tencentyun.com/ubuntu?xenial-security/main?amd64?libjpeg-tu.........Processing?triggers?for?ufw?(0.35-0ubuntu2)?...ubuntu@VM-0-7-ubuntu:~$

      這時,你已經(jīng)安裝好了Nginx服務(wù),嘗試通過瀏覽器訪問下你的服務(wù)器,在騰訊云控制臺找到你服務(wù)器的公網(wǎng)IP,然后復制到瀏覽器打開,如果你看到如下輸出,證明你已經(jīng)成功安裝Nginx。

      安裝MySql數(shù)據(jù)庫服務(wù)

      我們已經(jīng)安裝了基礎(chǔ)的Web服務(wù)軟件Nginx了,接下來我們將要安裝數(shù)據(jù)庫服務(wù),數(shù)據(jù)庫有很多種選擇,這里我們選擇最常用的MySQL服務(wù)。和安裝Nginx一樣,我們只需輸入sudo apt-get install mysql-server來安裝MySQL服務(wù)。這里安裝的MySQL版本是5.7版本。

      sudo?apt-get?install?mysql-server

      輸入完成后你會看到如下輸出

      ubuntu@VM-0-7-ubuntu:~$?sudo?apt?install?mysql-server Reading?package?lists...?Done Building?dependency?tree Reading?state?information...?Done The?following?additional?packages?will?be?installed:........0?upgraded,?21?newly?installed,?0?to?remove?and?205?not?upgraded.Need?to?get?19.4?MB?of?archives.After?this?operation,?162?MB?of?additional?disk?space?will?be?used.Do?you?want?to?continue??[Y/n]?y

      請按下鍵盤上的Y然后回車繼續(xù)。接下來,安裝程序?qū)⒁竽爿斎肽愕臄?shù)據(jù)庫root用戶的密碼,如圖。

      這里請輸入你想為root用戶設(shè)定的密碼,我這里輸入passwd為例。自己設(shè)置的時候請設(shè)置較復雜的密碼。輸入完成后按下回車,系統(tǒng)將要求你再次輸入一遍剛才設(shè)定的密碼,同樣,輸入完成后我們按下回車。接下來將進入漫長的安裝過程,你會看到類似如下輸出。

      Do?you?want?to?continue??[Y/n]?y Get:1?http://mirrors.tencentyun.com/ubuntu?xenial-security/main?amd64?mysql-common?all?5.7.23-0ubuntu0.16.04.1?[15.4?kB]Get:2?http://mirrors.tencentyun.com/ubuntu?xenial/main?amd64?libaio1?amd64?0.3.110-2?[6,356?B]..........Setting?up?mysql-server?(5.7.23-0ubuntu0.16.04.1)?...Processing?triggers?for?libc-bin?(2.23-0ubuntu9)?...Processing?triggers?for?systemd?(229-4ubuntu21.2)?...Processing?triggers?for?ureadahead?(0.100.0-19)?...ubuntu@VM-0-7-ubuntu:~$

      接下來,我們將安裝php環(huán)境。

      安裝PHP環(huán)境

      同樣簡單,我們依然可以使用apt包管理器進行php的安裝,不過這次我們不只要安裝php本身,還要安裝php-fpm,它是一個FastCGI管理器,可以有效控制內(nèi)存和進程、可以平滑重載PHP配置。同樣,為了連接數(shù)據(jù)庫,我們還需要安裝php-mysql插件。使用下面的命令即可快速安裝。

      sudo?apt-get?install?php sudo?apt-get?install?php-fpm sudo?apt-get?install?php-mysql

      如何搭建 LNMP 網(wǎng)站服務(wù)環(huán)境

      輸入完這三個命令后,系統(tǒng)同樣會輸出一大堆內(nèi)容,我們只需要耐心等待即可。值得注意的是,我的系統(tǒng)版本是Ubuntu server 16.04.1 LTS,默認安裝的是PHP 7.0版本。PHP-FPM 默認監(jiān)聽 9000 端口。

      配置Nginx代理PHP程序

      我們已經(jīng)安裝完了Nginx、PHP及MySQL,但是這套服務(wù)暫時還不能使用,我們需要將Nginx和PHP通過配置鏈接起來。具體操作如下,首先我們需要進入Nginx配置目錄。在/etc/nginx/conf.d/這個目錄下。

      ubuntu@VM-0-7-ubuntu:~$?cd?/etc/nginx/conf.d/ubuntu@VM-0-7-ubuntu:/etc/nginx/conf.d$

      接下來我們要新建一個名為default.conf的配置文件,你可以使用任意編輯器來編寫,這里我使用nano編輯器進行編寫,可以使用下面的命令。

      sudo?nano?default.conf

      然后復制下面的配置到編輯器

      server?{ ????listen???????80; ????root?????????/usr/share/nginx/html; ????location?~?.php$?{ ????????fastcgi_pass??unix:/run/php/php7.0-fpm.sock; ????????#?如果你的php版本低于7.0,請將unix:/run/php/php7.0-fpm.sock;替換為127.0.0.1:9000; ????????fastcgi_index??index.php; ????????fastcgi_param??SCRIPT_FILENAME??$document_root$fastcgi_script_name; ????????include????????fastcgi_params; ????}}

      然后按下鍵盤上的Ctrl+O鍵然后按下回車保存,然后按下Ctrl+W退出。接下來我們需要刪除nginx默認的配置文件,不然我們定義的這個文件運行會報錯。首先打開/etc/nginx/sites-available目錄,然后刪除默認的default的文件。具體操作如下:

      cd?/etc/nginx/sites-available sudo?rm?default

      然后我們需要重啟nginx以確保其正常運行,可以使用sudo service nginx restart這個命令。

      sudo?service?nginx?restart

      沒有報錯證明系統(tǒng)一切正常,我們可以測試我們的php是否正常運行了。測試之前我們需要準備測試腳本,這里我們新建一個名為info.php的文件,這個文件一定要放在我們上面寫的default.conf里面的root行后面指向的目錄,本文配置是/usr/share/nginx/html目錄,具體操作如下。

      cd?/usr/share/nginx/html sudo?nano?info.php

      然后在編輯器里面寫下如下代碼

      然后按下鍵盤上的Ctrl+O鍵然后按下回車保存,然后按下Ctrl+W退出。接下來,通過瀏覽器訪問 http://你的服務(wù)器的公網(wǎng)IP地址/info.php ,如果你看到如圖結(jié)果,證明一切正常,趕快開始部署你喜愛的程序吧!

      總結(jié)

      這篇文章中,我們學會了搭建LNMP網(wǎng)站服務(wù)環(huán)境。通過這個環(huán)境,你可以部署很多基于PHP語言的網(wǎng)站。

      當然,搭建LNMP過程中難免會遇到一些莫名其妙的問題,在這里我總結(jié)幾點,希望對你有幫助。

      Q:啟動Nginx過程中總是報“Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.”錯誤。A:請檢查Nginx配置文件,確保其格式正確,如果太長,請分離開一段一段檢查。Q:配置完成并重啟Nginx無效,訪問服務(wù)器IP還是默認的頁面。A:請檢查/etc/nginx/sites-available和/etc/nginx/conf.d是否有其他文件沖突,若有沖突請刪除多余文件。Q:訪問info.php文件報502錯誤A:首先檢查php-fpm服務(wù)是否啟動,可以使用sudo service php-fpm start命令啟動,若還是報錯,請檢查你的php版本,低于7.0版本請將nginx配置文件中的fastcgi_pass行改為127.0.0.1:9000;Q:php版本是7.0,已經(jīng)啟動php-fpm服務(wù),還是報錯502。A:打開/run/php/目錄,尋找以.sock結(jié)尾的文件,并以絕對路徑方式替換配置中的/run/php/php7.0-fpm.sock這是目前使用Ubuntu Server 16.04.1系統(tǒng),php7.0版本可能會遇到的問題,其他遇到的BUG歡迎大家評論反饋。

      如果你的LNMP環(huán)境打算長期使用,我推薦你將文中的MySQL服務(wù)更換為華為云上關(guān)系型數(shù)據(jù)庫進行配置,云關(guān)系型數(shù)據(jù)庫是一種高度可用的托管服務(wù),提供容災、備份、恢復、監(jiān)控、遷移等數(shù)據(jù)庫運維全套解決方案,可將您從耗時的Discuz!數(shù)據(jù)庫管理任務(wù)中解放出來,讓您有更多時間專注于您的應用和業(yè)務(wù)。

      LNMP PHP 網(wǎng)站

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:如何制作視頻(如何制作視頻表情包)
      下一篇:excel表格中相同字符怎么批量替換成連續(xù)自然數(shù)?
      相關(guān)文章
      午夜亚洲av永久无码精品| 亚洲中文字幕精品久久| 亚洲?v无码国产在丝袜线观看| 亚洲偷自精品三十六区| 亚洲精品综合久久中文字幕| 亚洲自偷自拍另类12p| 久久久久久a亚洲欧洲AV| 亚洲AV午夜成人影院老师机影院| 亚洲精品午夜无码电影网| 日日噜噜噜噜夜夜爽亚洲精品| 亚洲日韩国产精品乱| 久久精品国产精品亚洲艾草网美妙| 亚洲精品亚洲人成在线观看下载| 亚洲第一黄色网址| 国产精品xxxx国产喷水亚洲国产精品无码久久一区| 国产精品亚洲专区无码WEB| 香蕉视频亚洲一级| 亚洲国产精品尤物yw在线| 亚洲熟女乱综合一区二区| 中文字幕亚洲日本岛国片| 亚洲一区无码中文字幕| 国产亚洲一区二区精品| 亚洲AV人无码激艳猛片| 亚洲av中文无码乱人伦在线播放| 亚洲AV无码成人精品区蜜桃| 亚洲伦理一区二区| 亚洲国产精品成人综合久久久 | 亚洲精品成人网站在线播放| 亚洲福利视频网站| 国产精品亚洲片在线va| 亚洲成在人线aⅴ免费毛片| 美国毛片亚洲社区在线观看 | 亚洲国产精品自产在线播放| 久久久亚洲精品蜜桃臀| 亚洲成a人片在线观看无码专区| 久久精品亚洲中文字幕无码网站| 久久99亚洲网美利坚合众国| 亚洲av无码片在线观看| 亚洲av综合av一区二区三区| 亚洲男人的天堂一区二区| 亚洲精品字幕在线观看|