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

資訊專欄INFORMATION COLUMN

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

Yangyang / 3288人閱讀

摘要:首先你需要一個運行良好的操作系統,我采用了在虛擬機中安裝的系統。我們在安裝棧中用到的所有組件均來自的默認軟件包存儲庫。因為在安裝時注冊自己的,所以安裝程序相當簡單。數據庫軟件現已安裝完成后,但其配置尚未完全完成。安裝將提取必要的核心文件。

介紹

LEMP 棧是用來開發動態網頁和web 應用程序的一系列軟件集合,LEMP描述的是Linux操作系統,Nginx web 服務器,以及后端數據存儲MySQL/MariaDB數據庫和服務器端動態腳本語言PHP.

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


前置條件

在完成本教程之前,你應該在Ubuntu系統中具有的常規的非root賬戶,以及"sudo"權限。您可以通過學習一下教程 使用Ubuntu 16.04服務器的的初始化設置.了解如何設置此類型的賬戶。

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


Step 1: 安裝Nginx web 服務器

為了向我們的網站訪問者顯示網頁,我們將使用Nginx,一個現代化,高效的網絡服務器。我們在安裝LEMP棧中用到的所有組件均來自Ubuntu的默認軟件包存儲庫。這意味著我們可以使用 apt 軟件包管理套件來完成所有安裝。

因為這是我們第一次在這個會話中使用apt,所以我們應該首先更新我們的本地包索引。然后再安裝服務器:

sudo apt-get update
sudo apt-get install nginx

在Ubuntu 16.04上,Nginx在安裝時開始運行配置。

如果您有正在運行的 ufw 防火墻,正如我們初始設置教程所說,您必須允許它連接到Nginx。因為Nginx在安裝時注冊自己的ufw,所以安裝程序相當簡單。

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

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

sudo ufw allow "Nginx HTTP"

您可以通過鍵入以下命令來驗證更改:

sudo ufw status

您應該在顯示的輸出中看到允許的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)

在添加新的防火墻規則后,您可以通過在Web瀏覽器中訪問服務器的域名或公共IP地址來測試服務器是否已啟動并正在運行。

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

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

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

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

鍵入您的公網IP地址或者域名,它應該帶你到Nginx的默認登陸頁面:

http://server_domain_or_IP

//以下兩個地址是在本地運行時
http://localhost/

http://127.0.0.1/

如果您看到了如上圖的頁面,您就已經成功安裝了Nginx 服務器了。


Step 2: 安裝MySQL 數據庫

現在我們已經有了一個Web服務器,我們需要安裝MySQL,一個數據庫管理系統,用來存儲和管理我們網站的數據。
您可以通過鍵入以下命令輕松安裝:

sudo apt-get install mysql-server

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

sudo mysql_secure_installation

接下來將要求您輸入為MySQL root帳戶設置的密碼。然后,將詢問您是否想要配置 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 同意,或者鍵入任意其他鍵則取消調用.

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:

如果您啟用驗證,系統會要求您選擇一個級別的密碼驗證. 注意,如果輸入2,則是最強的級別,當您嘗試設置不包含數字,大寫和小寫字母,特殊字符或基于常用字典單詞的任何密碼時,您將收到錯誤。

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

如果啟用了密碼驗證,則會顯示現有root密碼的密碼強度,并詢問您是否要更改該密碼。如果您不想更改當前root密碼,請在提示符處輸入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

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

此時,您的數據庫系統現已設置完成。


Step 3: 安裝PHP

我們現在安裝了Nginx來訪問我們的頁面,安裝了MySQL用啦存儲和管理我們的數據。但是,我們還沒有任何可以生成動態內容的東西。我們可以使用PHP完成生成動態頁面的功能。

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

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

sudo apt-get install php-fpm php-mysql
配置PHP環境



我們現在已經安裝了PHP組件,但我們需要進行一些小的配置更改,以使我們的環境更安全。

使用root權限打開主php-fpm配置文件:

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

我們在這個文件中尋找的是叫做cgi.fix_pathinfo的配置。這將使用分號(;)注釋掉,默認設置為"1",并被分號(;)注釋掉了。

這是一個非常不安全的設置,因為它告訴PHP,如果PHP請求找不到所需的文件,它將會嘗試執行最近的文件。基本上,這將允許用戶以某種方式模擬PHP請求去執行哪些本不該被執行的PHP腳本。

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

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

cgi.fix_pathinfo=0

保存并在完成后關閉文件。現在,我們只需要重新啟動PHP處理器:

sudo systemctl restart php7.0-fpm

重啟后PHP服務將會接受我們所做的改變。

Step 4: 配置Nginx服務器使用PHP

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

我們在服務器塊級別上執行此操作(服務器塊類似于Apache的虛擬主機)。通過鍵入以下命令打開默認的Nginx服務器塊配置文件:

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

當前,打開default文件后,去掉所有注釋,默認Nginx服務器塊文件看起來像這樣:
/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;
    }
}

我們需要對這些文件做一些更改。

首先,我們需要添加index.php作為index指令的第一個值,以便在請求設置的目錄時可以訪問index.php

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

對于處理PHP請求,我們只需要取消位于location ~.php$處的代碼段的注釋即可,它包括fastcgi-php.conf,以及和PHP-fpm關聯的接口。

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

您需要所做的更改位于下面被[[]]包裹的代碼:
/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;
    }]]
}

當您進行上述更改后,就可以保存并關閉文件。

鍵入以下命令以測試配置文件是否有語法錯誤:

sudo nginx -t

如果報告了任何錯誤,請返回并重新檢查您的文件,然后再繼續。

當你準備好,重新加載Nginx接受上述所做的更改:

sudo systemctl reload nginx

Step 5: 創建PHP文件測試配置

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

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

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

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


完成后,保存并關閉文件。

現在您可以在瀏覽器中訪問info.php,查看服務器信息。

http://server_domain_or_IP/info.php

您將看到一個由PHP生成的網頁,其中包含有關您的服務器的信息:

如果你看到一個類似這樣的頁面,你已經成功地設置了PHP以及Nginx服務器。

當Nginx正確呈現了此頁面后,最好刪除這個文件,因為它實際上可以向未經授權的用戶提供有關您的配置的一些提示信息,可能有助于他們嘗試非法鏈接。如果以后需要,可以隨時重新生成此文件。

鍵入以下命令刪除這個文件:

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

結束

現在應該已經在您的Ubuntu 16.04服務器上配置了一個LEMP棧。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/29245.html

相關文章

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

    摘要:首先你需要一個運行良好的操作系統,我采用了在虛擬機中安裝的系統。我們在安裝棧中用到的所有組件均來自的默認軟件包存儲庫。因為在安裝時注冊自己的,所以安裝程序相當簡單。數據庫軟件現已安裝完成后,但其配置尚未完全完成。安裝將提取必要的核心文件。 介紹 LEMP 棧是用來開發動態網頁和web 應用程序的一系列軟件集合,LEMP描述的是Linux操作系統,Nginx web 服務器,以及后端數據...

    xorpay 評論0 收藏0

發表評論

0條評論

Yangyang

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<