溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Ubuntu如何為Nginx服務(wù)器安裝LEMP環(huán)境

發(fā)布時(shí)間:2022-10-20 11:16:58 來源:億速云 閱讀:95 作者:iii 欄目:服務(wù)器

本篇內(nèi)容主要講解“Ubuntu如何為Nginx服務(wù)器安裝LEMP環(huán)境”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Ubuntu如何為Nginx服務(wù)器安裝LEMP環(huán)境”吧!

前置準(zhǔn)備

安裝 ubuntu 16.04 服務(wù)器版本

步驟 1:安裝 nginx 服務(wù)器

1、nginx 是一個(gè)先進(jìn)的、資源優(yōu)化的 web 服務(wù)器程序,用來向因特網(wǎng)上的訪客展示網(wǎng)頁(yè)。我們從 nginx 服務(wù)器的安裝開始介紹,使用 apt 命令 從 ubuntu 的官方軟件倉(cāng)庫(kù)中獲取 nginx 程序。

$ sudo apt-get install nginx

Ubuntu如何為Nginx服務(wù)器安裝LEMP環(huán)境

在 ubuntu 16.04 安裝 nginx
2、 然后輸入 netstat 和 systemctl 命令,確認(rèn) nginx 進(jìn)程已經(jīng)啟動(dòng)并且綁定在 80 端口。

$ netstat -tlpn

Ubuntu如何為Nginx服務(wù)器安裝LEMP環(huán)境

檢查 nginx 網(wǎng)絡(luò)端口連接

$ sudo systemctl status nginx.service

Ubuntu如何為Nginx服務(wù)器安裝LEMP環(huán)境

檢查 nginx 服務(wù)狀態(tài)

當(dāng)你確認(rèn)服務(wù)進(jìn)程已經(jīng)啟動(dòng)了,你可以打開一個(gè)瀏覽器,使用 http 協(xié)議訪問你的服務(wù)器 ip 地址或者域名,瀏覽 nginx 的默認(rèn)網(wǎng)頁(yè)。

http://ip-address

Ubuntu如何為Nginx服務(wù)器安裝LEMP環(huán)境

步驟 2:?jiǎn)⒂?nginx http/2.0 協(xié)議

3、 對(duì) http/2.0 協(xié)議的支持默認(rèn)包含在 ubuntu 16.04 最新發(fā)行版的 nginx 二進(jìn)制文件中了,它只能通過 ssl 連接并且保證加載網(wǎng)頁(yè)的速度有巨大提升。

要啟用nginx 的這個(gè)協(xié)議,首先找到 nginx 提供的網(wǎng)站配置文件,輸入下面這個(gè)命令備份配置文件。

$ cd /etc/nginx/sites-available/
$ sudo mv default default.backup

Ubuntu如何為Nginx服務(wù)器安裝LEMP環(huán)境

備份 nginx 的網(wǎng)站配置文件
4、然后,用文本編輯器新建一個(gè)默認(rèn)文件,輸入以下內(nèi)容:

server {
    listen 443 ssl http2 default_server;
    listen [::]:443 ssl http2 default_server;
    root /var/www/html;
    index index.html index.htm index.php;
    server_name 192.168.1.13;
    location / {
        try_files $uri $uri/ =404;
    }
    ssl_certificate /etc/nginx/ssl/nginx.crt;
    ssl_certificate_key /etc/nginx/ssl/nginx.key;
    ssl_protocols tlsv1 tlsv1.1 tlsv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers eecdh+chacha20:eecdh+aes128:rsa+aes128:eecdh+aes256:rsa+aes256:eecdh+3des:rsa+3des:!md5;
    ssl_dhparam /etc/nginx/ssl/dhparam.pem;
    ssl_session_cache shared:ssl:20m;
    ssl_session_timeout 180m;
    resolver 8.8.8.8 8.8.4.4;
    add_header strict-transport-security "max-age=31536000;
    #includesubdomains" always;
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }
    location ~ /\.ht {
        deny all;
    }
}
server {
    listen     80;
    listen  [::]:80;
    server_name  192.168.1.13;
    return     301 https://$server_name$request_uri;
}

Ubuntu如何為Nginx服務(wù)器安裝LEMP環(huán)境

啟用 nginx http 2 協(xié)議
上面的配置片段向所有的 ssl 監(jiān)聽指令中添加 http2 參數(shù)來啟用 http/2.0。

上述添加到服務(wù)器配置的最后一段,是用來將所有非 ssl 的流量重定向到 ssl/tls 默認(rèn)主機(jī)。然后用你主機(jī)的 ip 地址或者 dns 記錄(最好用 fqdn 名稱)替換掉 server_name 選項(xiàng)的參數(shù)。

5、 當(dāng)你按照以上步驟編輯完 nginx 的默認(rèn)配置文件之后,用下面這些命令來生成、查看 ssl 證書和密鑰。

用你自定義的設(shè)置完成證書的制作,注意 common name 設(shè)置成和你的 dns fqdn 記錄或者服務(wù)器 ip 地址相匹配。

$ sudo mkdir /etc/nginx/ssl
$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt
$ ls /etc/nginx/ssl/

Ubuntu如何為Nginx服務(wù)器安裝LEMP環(huán)境

生成 nginx 的 ssl 證書和密鑰
6、 通過輸入以下命令使用一個(gè)強(qiáng) dh 加密算法,這會(huì)修改之前的配置文件 ssl_dhparam 所配置的文件。

$ sudo openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048

Ubuntu如何為Nginx服務(wù)器安裝LEMP環(huán)境

創(chuàng)建 diffie-hellman 密鑰
7、 當(dāng) diffie-hellman 密鑰生成之后,驗(yàn)證 nginx 的配置文件是否正確、能否被 nginx 網(wǎng)絡(luò)服務(wù)程序應(yīng)用。然后運(yùn)行以下命令重啟守護(hù)進(jìn)程來觀察有什么變化。

$ sudo nginx -t
$ sudo systemctl restart nginx.service

Ubuntu如何為Nginx服務(wù)器安裝LEMP環(huán)境

檢查 nginx 的配置
8、 鍵入下面的命令來測(cè)試 nginx 使用的是 http/2.0 協(xié)議??吹絽f(xié)議中有 h2 的話,表明 nginx 已經(jīng)成功配置使用 http/2.0 協(xié)議。所有最新的瀏覽器默認(rèn)都能夠支持這個(gè)協(xié)議。

$ openssl s_client -connect localhost:443 -nextprotoneg ''

Ubuntu如何為Nginx服務(wù)器安裝LEMP環(huán)境

測(cè)試 nginx http 2.0 協(xié)議

第 3 步:安裝 php 7 解釋器

通過 fastcgi 進(jìn)程管理程序的協(xié)助,nginx 能夠使用 php 動(dòng)態(tài)語(yǔ)言解釋器生成動(dòng)態(tài)網(wǎng)絡(luò)內(nèi)容。fastcgi 能夠從 ubuntu 官方倉(cāng)庫(kù)中安裝 php-fpm 二進(jìn)制包來獲取。

9、 在你的服務(wù)器控制臺(tái)里輸入下面的命令來獲取 php7.0 和擴(kuò)展包,這能夠讓 php 與 nginx 網(wǎng)絡(luò)服務(wù)進(jìn)程通信。

$ sudo apt install php7.0 php7.0-fpm

Ubuntu如何為Nginx服務(wù)器安裝LEMP環(huán)境

安裝 php 7 以及 php-fpm
10、 當(dāng) php7.0 解釋器安裝成功后,輸入以下命令啟動(dòng)或者檢查 php7.0-fpm 守護(hù)進(jìn)程:

$ sudo systemctl start php7.0-fpm
$ sudo systemctl status php7.0-fpm

Ubuntu如何為Nginx服務(wù)器安裝LEMP環(huán)境

開啟、驗(yàn)證 php-fpm 服務(wù)
11、 當(dāng)前的 nginx 配置文件已經(jīng)配置了使用 php fpm 來提供動(dòng)態(tài)內(nèi)容。

下面給出的這部分服務(wù)器配置讓 nginx 能夠使用 php 解釋器,所以不需要對(duì) nginx 配置文件作別的修改。

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

下面是的截圖是 nginx 默認(rèn)配置文件的內(nèi)容。你可能需要對(duì)其中的代碼進(jìn)行修改或者取消注釋。

Ubuntu如何為Nginx服務(wù)器安裝LEMP環(huán)境

啟用 php fastcgi
12、 要測(cè)試啟用了 php-fpm 的 nginx 服務(wù)器,用下面的命令創(chuàng)建一個(gè) php 測(cè)試配置文件 info.php。接著用 http://ip_or domain/info.php 這個(gè)網(wǎng)址來查看配置。

$ sudo su -c 'echo "<?php phpinfo(); ?>" |tee /var/www/html/info.php'

Ubuntu如何為Nginx服務(wù)器安裝LEMP環(huán)境

創(chuàng)建 php info 文件

Ubuntu如何為Nginx服務(wù)器安裝LEMP環(huán)境

檢查 php fastcgi 的信息
檢查服務(wù)器是否宣告支持 http/2.0 協(xié)議,定位到 php 變量區(qū)域中的 $_server[‘server_protocol'] 就像下面這張截圖一樣。

Ubuntu如何為Nginx服務(wù)器安裝LEMP環(huán)境

檢查 http2.0 協(xié)議信息
13、 為了安裝其它的 php7.0 模塊,使用 apt search php7.0 命令查找 php 的模塊然后安裝。

如果你想要 安裝 wordpress 或者別的 cms,需要安裝以下的 php 模塊,這些模塊遲早有用。

$ sudo apt install php7.0-mcrypt php7.0-mbstring

Ubuntu如何為Nginx服務(wù)器安裝LEMP環(huán)境

安裝 php 7 模塊
14、 要注冊(cè)這些額外的 php 模塊,輸入下面的命令重啟 php-fpm 守護(hù)進(jìn)程。

$ sudo systemctl restart php7.0-fpm.service

第 4 步:安裝 mariadb 數(shù)據(jù)庫(kù)

15、 最后,我們需要 mariadb 數(shù)據(jù)庫(kù)來存儲(chǔ)、管理網(wǎng)站數(shù)據(jù),才算完成 lemp 的搭建。

運(yùn)行下面的命令安裝 mariadb 數(shù)據(jù)庫(kù)管理系統(tǒng),重啟 php-fpm 服務(wù)以便使用 mysql 模塊與數(shù)據(jù)庫(kù)通信。

$ sudo apt install mariadb-server mariadb-client php7.0-mysql
$ sudo systemctl restart php7.0-fpm.service

Ubuntu如何為Nginx服務(wù)器安裝LEMP環(huán)境

安裝 mariadb
16、 為了安全加固 mariadb,運(yùn)行來自 ubuntu 軟件倉(cāng)庫(kù)中的二進(jìn)制包提供的安全腳本,這會(huì)詢問你設(shè)置一個(gè) root 密碼,移除匿名用戶,禁用 root 用戶遠(yuǎn)程登錄,移除測(cè)試數(shù)據(jù)庫(kù)。

輸入下面的命令運(yùn)行腳本,并且確認(rèn)所有的選擇。參照下面的截圖。

$ sudo mysql_secure_installation

Ubuntu如何為Nginx服務(wù)器安裝LEMP環(huán)境

mariadb 的安全安裝
17、 配置 mariadb 以便普通用戶能夠不使用系統(tǒng)的 sudo 權(quán)限來訪問數(shù)據(jù)庫(kù)。用 root 用戶權(quán)限打開 mysql 命令行界面,運(yùn)行下面的命令:

$ sudo mysql 
mariadb> use mysql;
mariadb> update user set plugin='‘ where user='root';
mariadb> flush privileges;
mariadb> exit

Ubuntu如何為Nginx服務(wù)器安裝LEMP環(huán)境

mariadb 的用戶權(quán)限
最后通過執(zhí)行以下命令登錄到 mariadb 數(shù)據(jù)庫(kù),就可以不需要 root 權(quán)限而執(zhí)行任意數(shù)據(jù)庫(kù)內(nèi)的命令:

$ mysql -u root -p -e 'show databases'

Ubuntu如何為Nginx服務(wù)器安裝LEMP環(huán)境

查看 mariadb 數(shù)據(jù)庫(kù)

到此,相信大家對(duì)“Ubuntu如何為Nginx服務(wù)器安裝LEMP環(huán)境”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI