在 Ubuntu 系統中,可以使用 apt-get 命令來搭建 LNMP環境。這種方式較編譯方式安裝更加簡便,因此選擇使用該方式來搭建環境以供學習。
安裝Nginx
使用 sudo apt-get install nginx 就能自動安裝 Nginx,爲了確保獲得最新的 Nginx,可以先使用 sudo apt-get update 命令更新源列表。
安裝好之後,使用 dpkg -S nginx 命令來搜索 nginx相關文件,可以從命令顯示結果看出 Nginx默認的安裝位置是/etc/nginx目錄,其配置文件nginx.conf也是在該目錄下,並且在 etc/init.d 下有 nginx的啓動程序,該目錄下的程序都會在系統開啓時啓動。
此外,Nginx的默認網站目錄是 /usr/share/nginx/html/,默認Nginx網站配置文件爲 /etc/nginx/sites-available/default 。
啓動 Nginx服務,使用下面兩個命令任意一個即可:
sudo /etc/init.d/nginx start
sudo service nginx start
使用 netstat -anp 則可以看到80端口已經處於 LISTEN狀態了。
直接查看80端口可以使用命令:sudo lsof -i :80
在瀏覽器輸入 127.0.0.1後,就可以看見 Nginx的歡迎頁面了。
安裝 PHP 7.1 與 PHP7.1-FPM
直接運行 sudo apt-get命令安裝 PHP 會報錯誤:
E: Unable to locate package php7.1
E: Couldn't find any package by regex 'php7.1'
- 1
- 2
原因是 PHP7 等並不在 Ubuntu的軟件庫中,因此要使用 PPA ppa:ondrej/php 庫
使用下列命令:
sudo apt-add-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php7.1 php7.1-fpm
- 1
- 2
- 3
安裝 PHP7.1包的同時也安裝了 PHP7.1-CLI
可以使用 php -v 命令來查看 PHP 版本信息。
Nginx 與 PHP-FPM集成
PHP-FPM 與 Nginx 通信方式有兩種,一種是基於TCP的 Internet domain socket 方式,一種是 UNIX domain socket 方式。
UNIX domain socket 可以使同一臺操作系統上的兩個或多個進程進行數據通信。UNIX domain socket 的接口和 Internet domain socket 很像,但它不使用網絡底層協議來通信。
服務器壓力不大的情況下,這兩種方式性能差別不大,但在壓力比較滿的時候,用UNIX domain socket方式,效果確實比較好。
UNIX domain socket 方式:
在 /etc/nginx/sites-available/default 配置文件中(網站根目錄也在是這裏更改), Nginx已經爲與 PHP-FPM的整合準備好了,只需要將下面這部分改好就可以了。sock文件路徑爲 /run/php/php7.1-fpm.sock 。
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# With php7.0-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# With php7.0-fpm:
fastcgi_pass unix:/run/php/php7.1-fpm.sock;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
然後再修改 PHP-FPM的配置文件 /etc/php/7.1/fpm/pool.d
,如下:
; 與 Nginx監聽同一個 sock
listen = /run/php/php7.1-fpm.sock
- 1
- 2
配置好後重啓服務:
sudo /etc/init.d/nginx restart
sudo /etc/init.d/php7.1-fpm restart
安裝 MySQL
使用命令
sudo apt-get –y install mysql-server mysql-client php7.1-mysql
第三個是 PHP的 MySQL擴展。
安裝過程中會讓你爲 MySQL root用戶設置密碼。
同樣,使用命令 netstat -anp ,會發現 3306端口正在被監聽了。
現在可以編寫 PHP腳本來連接數據庫了。
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/markdown_views-ea0013b516.css">
</div>