国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

如何在Ubuntu16.04 中安裝Linux, Nginx, MySQL, PHP (LEMP 棧

xorpay / 3462人閱讀

摘要:首先你需要一個(gè)運(yùn)行良好的操作系統(tǒng),我采用了在虛擬機(jī)中安裝的系統(tǒng)。我們?cè)诎惭b棧中用到的所有組件均來自的默認(rèn)軟件包存儲(chǔ)庫(kù)。因?yàn)樵诎惭b時(shí)注冊(cè)自己的,所以安裝程序相當(dāng)簡(jiǎn)單。數(shù)據(jù)庫(kù)軟件現(xiàn)已安裝完成后,但其配置尚未完全完成。安裝將提取必要的核心文件。

介紹

LEMP 棧是用來開發(fā)動(dòng)態(tài)網(wǎng)頁(yè)和web 應(yīng)用程序的一系列軟件集合,LEMP描述的是Linux操作系統(tǒng),Nginx web 服務(wù)器,以及后端數(shù)據(jù)存儲(chǔ)MySQL/MariaDB數(shù)據(jù)庫(kù)和服務(wù)器端動(dòng)態(tài)腳本語言PHP.

在此教程中,我們將會(huì)演示如何在Ubuntu 16.04 服務(wù)器中安裝一個(gè)完整的LEMP棧。首先你需要一個(gè)運(yùn)行良好的Ubuntu操作系統(tǒng),我采用了在虛擬機(jī)VirtualBox中安裝的Ubuntu 16.04 LTS系統(tǒng)。下面,我來介紹其他組件如何安裝和配置。


前置條件

在完成本教程之前,你應(yīng)該在Ubuntu系統(tǒng)中具有的常規(guī)的非root賬戶,以及"sudo"權(quán)限。您可以通過學(xué)習(xí)一下教程 使用Ubuntu 16.04服務(wù)器的的初始化設(shè)置.了解如何設(shè)置此類型的賬戶。

在您的普通用戶賬戶可用后,使用此賬戶登錄您的服務(wù)器。現(xiàn)在來開始跟著本教程的步驟開始吧!


Step 1: 安裝Nginx web 服務(wù)器

為了向我們的網(wǎng)站訪問者顯示網(wǎng)頁(yè),我們將使用Nginx,一個(gè)現(xiàn)代化,高效的網(wǎng)絡(luò)服務(wù)器。我們?cè)诎惭bLEMP棧中用到的所有組件均來自Ubuntu的默認(rèn)軟件包存儲(chǔ)庫(kù)。這意味著我們可以使用 apt 軟件包管理套件來完成所有安裝。

因?yàn)檫@是我們第一次在這個(gè)會(huì)話中使用apt,所以我們應(yīng)該首先更新我們的本地包索引。然后再安裝服務(wù)器:

sudo apt-get update
sudo apt-get install nginx

在Ubuntu 16.04上,Nginx在安裝時(shí)開始運(yùn)行配置。

如果您有正在運(yùn)行的 ufw 防火墻,正如我們初始設(shè)置教程所說,您必須允許它連接到Nginx。因?yàn)镹ginx在安裝時(shí)注冊(cè)自己的ufw,所以安裝程序相當(dāng)簡(jiǎn)單。

建議您啟用運(yùn)行所需的最嚴(yán)格的配置文件。由于我們尚未為我們的服務(wù)器配置SSL,因此在本教程中,我們只需要允許端口80上的連接。

您可以通過鍵入以下命令啟用此功能:

sudo ufw allow "Nginx HTTP"

您可以通過鍵入以下命令來驗(yàn)證更改:

sudo ufw status

您應(yīng)該在顯示的輸出中看到允許的HTTP連接:

Output
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
Nginx HTTP                 ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
Nginx HTTP (v6)            ALLOW       Anywhere (v6)

在添加新的防火墻規(guī)則后,您可以通過在Web瀏覽器中訪問服務(wù)器的域名或公共IP地址來測(cè)試服務(wù)器是否已啟動(dòng)并正在運(yùn)行。

如果您還沒有指定您的服務(wù)器域名,并且您不知道您的服務(wù)器的公共IP地址,您可以通過在終端中鍵入以下內(nèi)容之一找到它:

ip addr show eth0 | grep inet | awk "{ print $2; }" | sed "s//.*$//"

這將打印出幾個(gè)IP地址,您可以在您的瀏覽器中依次嘗試每個(gè)IP。或者,您可以檢查從互聯(lián)網(wǎng)上的其他位置查看哪個(gè)IP地址是可訪問的:

#eg. to access baidu.com
curl -4 www.baidu.com

鍵入您的公網(wǎng)IP地址或者域名,它應(yīng)該帶你到Nginx的默認(rèn)登陸頁(yè)面:

http://server_domain_or_IP

//以下兩個(gè)地址是在本地運(yùn)行時(shí)
http://localhost/

http://127.0.0.1/

如果您看到了如上圖的頁(yè)面,您就已經(jīng)成功安裝了Nginx 服務(wù)器了。


Step 2: 安裝MySQL 數(shù)據(jù)庫(kù)

現(xiàn)在我們已經(jīng)有了一個(gè)Web服務(wù)器,我們需要安裝MySQL,一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng),用來存儲(chǔ)和管理我們網(wǎng)站的數(shù)據(jù)。
您可以通過鍵入以下命令輕松安裝:

sudo apt-get install mysql-server

您將被要求提供root(管理員)密碼以在MySQL系統(tǒng)中使用。MySQL數(shù)據(jù)庫(kù)軟件現(xiàn)已安裝完成后,但其配置尚未完全完成。
為了確保安裝,我們可以運(yùn)行一個(gè)簡(jiǎn)單的安全腳本,詢問我們是否要修改一些不安全的默認(rèn)值。通過鍵入開始腳本:

sudo mysql_secure_installation

接下來將要求您輸入為MySQL root帳戶設(shè)置的密碼。然后,將詢問您是否想要配置 VALIDATE PASSWORD PLUGIN。


Warning: Enabling this feature is something of a judgment call. If enabled, passwords which don"t match the specified criteria will be rejected by MySQL with an error. This will cause issues if you use a weak password in conjunction with software which automatically configures MySQL user credentials, such as the Ubuntu packages for phpMyAdmin. It is safe to leave validation disabled, but you should always use strong, unique passwords for database credentials.

鍵入y 同意,或者鍵入任意其他鍵則取消調(diào)用.

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No:

如果您啟用驗(yàn)證,系統(tǒng)會(huì)要求您選擇一個(gè)級(jí)別的密碼驗(yàn)證. 注意,如果輸入2,則是最強(qiáng)的級(jí)別,當(dāng)您嘗試設(shè)置不包含數(shù)字,大寫和小寫字母,特殊字符或基于常用字典單詞的任何密碼時(shí),您將收到錯(cuò)誤。

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1

如果啟用了密碼驗(yàn)證,則會(huì)顯示現(xiàn)有root密碼的密碼強(qiáng)度,并詢問您是否要更改該密碼。如果您不想更改當(dāng)前root密碼,請(qǐng)?jiān)谔崾痉庉斎雗表示“否”:

Using existing password for root.

Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : n

對(duì)于其余的問題,您只要按Y就行了,并在每個(gè)提示符下按Enter鍵。這將刪除一些匿名用戶和測(cè)試數(shù)據(jù)庫(kù),禁用遠(yuǎn)程根登錄,并加載這些新規(guī)則,以便MySQL立即啟用這些我們所做的更改。

此時(shí),您的數(shù)據(jù)庫(kù)系統(tǒng)現(xiàn)已設(shè)置完成。


Step 3: 安裝PHP

我們現(xiàn)在安裝了Nginx來訪問我們的頁(yè)面,安裝了MySQL用啦存儲(chǔ)和管理我們的數(shù)據(jù)。但是,我們還沒有任何可以生成動(dòng)態(tài)內(nèi)容的東西。我們可以使用PHP完成生成動(dòng)態(tài)頁(yè)面的功能。

由于Nginx不包含本地PHP處理,像其他一些Web服務(wù)器一樣,我們需要安裝php-fpm,它代表"fastCGI process manager"。我們通過配置Nginx使它可以將PHP請(qǐng)求傳遞給 php-fpm 進(jìn)行處理。

我們安裝php-fpm 這個(gè)組件,并且還將獲得一個(gè)額外的幫助包,它將允許PHP與我們的數(shù)據(jù)庫(kù)后端進(jìn)行通信。安裝將提取必要的PHP核心文件。通過鍵入以下命令執(zhí)行此安裝操作:

sudo apt-get install php-fpm php-mysql
配置PHP環(huán)境



我們現(xiàn)在已經(jīng)安裝了PHP組件,但我們需要進(jìn)行一些小的配置更改,以使我們的環(huán)境更安全。

使用root權(quán)限打開主php-fpm配置文件:

sudo vim /etc/php/7.0/fpm/php.ini

我們?cè)谶@個(gè)文件中尋找的是叫做cgi.fix_pathinfo的配置。這將使用分號(hào)(;)注釋掉,默認(rèn)設(shè)置為"1",并被分號(hào)(;)注釋掉了。

這是一個(gè)非常不安全的設(shè)置,因?yàn)樗嬖VPHP,如果PHP請(qǐng)求找不到所需的文件,它將會(huì)嘗試執(zhí)行最近的文件。基本上,這將允許用戶以某種方式模擬PHP請(qǐng)求去執(zhí)行哪些本不該被執(zhí)行的PHP腳本。

我們將通過取消注釋行并將其設(shè)置為"0"來更改這個(gè)條件,如下所示:

/etc/php/7.0/fpm/php.ini

cgi.fix_pathinfo=0

保存并在完成后關(guān)閉文件。現(xiàn)在,我們只需要重新啟動(dòng)PHP處理器:

sudo systemctl restart php7.0-fpm

重啟后PHP服務(wù)將會(huì)接受我們所做的改變。

Step 4: 配置Nginx服務(wù)器使用PHP

現(xiàn)在,我們安裝了所有必需的組件。唯一需要的配置是告訴Nginx去使用PHP服務(wù)處理PHP文件。

我們?cè)诜?wù)器塊級(jí)別上執(zhí)行此操作(服務(wù)器塊類似于Apache的虛擬主機(jī))。通過鍵入以下命令打開默認(rèn)的Nginx服務(wù)器塊配置文件:

sudo vim /etc/nginx/sites-available/default

當(dāng)前,打開default文件后,去掉所有注釋,默認(rèn)Nginx服務(wù)器塊文件看起來像這樣:
/etc/nginx/sites-available/default

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;
    index index.html index.htm index.nginx-debian.html;

    server_name _;

    location / {
        try_files $uri $uri/ =404;
    }
}

我們需要對(duì)這些文件做一些更改。

首先,我們需要添加index.php作為index指令的第一個(gè)值,以便在請(qǐng)求設(shè)置的目錄時(shí)可以訪問index.php

修改server_name指令以指向我們服務(wù)器的域名或者公共IP地址。

對(duì)于處理PHP請(qǐng)求,我們只需要取消位于location ~.php$處的代碼段的注釋即可,它包括fastcgi-php.conf,以及和PHP-fpm關(guān)聯(lián)的接口。

我們還將取消用于處理*.htaccees文件的代碼注釋。Nginx服務(wù)器不負(fù)責(zé)處理這些文件,如果這些文件碰巧進(jìn)入文檔根目錄,它們不會(huì)被提供給訪問者。

您需要所做的更改位于下面被[[]]包裹的代碼:
/etc/nginx/sites-available/default

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;
    index [[index.php]] index.html index.htm index.nginx-debian.html;

    server_name [[server_domain_or_IP]];

    location / {
        try_files $uri $uri/ =404;
    }

    [[location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }]]

    [[location ~ /.ht {
        deny all;
    }]]
}

當(dāng)您進(jìn)行上述更改后,就可以保存并關(guān)閉文件。

鍵入以下命令以測(cè)試配置文件是否有語法錯(cuò)誤:

sudo nginx -t

如果報(bào)告了任何錯(cuò)誤,請(qǐng)返回并重新檢查您的文件,然后再繼續(xù)。

當(dāng)你準(zhǔn)備好,重新加載Nginx接受上述所做的更改:

sudo systemctl reload nginx

Step 5: 創(chuàng)建PHP文件測(cè)試配置

您的LEMP堆棧現(xiàn)在應(yīng)該完全設(shè)置。我們可以通過測(cè)試它來驗(yàn)證Nginx是否可以正確地將.php文件移交給我們的PHP處理器來處理。

在我們的文檔根目錄中創(chuàng)建一個(gè)名稱為info.php測(cè)試文件。
在文本編輯器中的文檔根目錄中打開一個(gè)名為info.php的新文件:

cd /var/www/html/
sudo touch info.php

在新文件中鍵入或粘貼以下代碼,將返回有關(guān)我們的服務(wù)器的信息:
/var/www/html/info.php


完成后,保存并關(guān)閉文件。

現(xiàn)在您可以在瀏覽器中訪問info.php,查看服務(wù)器信息。

http://server_domain_or_IP/info.php

您將看到一個(gè)由PHP生成的網(wǎng)頁(yè),其中包含有關(guān)您的服務(wù)器的信息:

如果你看到一個(gè)類似這樣的頁(yè)面,你已經(jīng)成功地設(shè)置了PHP以及Nginx服務(wù)器。

當(dāng)Nginx正確呈現(xiàn)了此頁(yè)面后,最好刪除這個(gè)文件,因?yàn)樗鼘?shí)際上可以向未經(jīng)授權(quán)的用戶提供有關(guān)您的配置的一些提示信息,可能有助于他們嘗試非法鏈接。如果以后需要,可以隨時(shí)重新生成此文件。

鍵入以下命令刪除這個(gè)文件:

sudo rm /var/www/html/info.php

結(jié)束

現(xiàn)在應(yīng)該已經(jīng)在您的Ubuntu 16.04服務(wù)器上配置了一個(gè)LEMP棧。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/40073.html

相關(guān)文章

  • 如何Ubuntu16.04 中安Linux, Nginx, MySQL, PHP (LEMP

    摘要:首先你需要一個(gè)運(yùn)行良好的操作系統(tǒng),我采用了在虛擬機(jī)中安裝的系統(tǒng)。我們?cè)诎惭b棧中用到的所有組件均來自的默認(rèn)軟件包存儲(chǔ)庫(kù)。因?yàn)樵诎惭b時(shí)注冊(cè)自己的,所以安裝程序相當(dāng)簡(jiǎn)單。數(shù)據(jù)庫(kù)軟件現(xiàn)已安裝完成后,但其配置尚未完全完成。安裝將提取必要的核心文件。 介紹 LEMP 棧是用來開發(fā)動(dòng)態(tài)網(wǎng)頁(yè)和web 應(yīng)用程序的一系列軟件集合,LEMP描述的是Linux操作系統(tǒng),Nginx web 服務(wù)器,以及后端數(shù)據(jù)...

    Yangyang 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<