Heim > Betrieb und Instandhaltung > Nginx > So installieren Sie die LEMP-Umgebung für den Nginx-Server in Ubuntu

So installieren Sie die LEMP-Umgebung für den Nginx-Server in Ubuntu

王林
Freigeben: 2023-05-29 21:05:29
nach vorne
1378 Leute haben es durchsucht

Vorbereitung

Ubuntu 16.04-Serverversion installieren

Schritt 1: Nginx-Server installieren

1. Nginx ist ein fortschrittliches, ressourcenoptimiertes Webserverprogramm, das zum Anzeigen von Webseiten für Besucher im Internet verwendet wird. Wir beginnen mit der Installation des Nginx-Servers und beziehen mit dem Befehl apt das Nginx-Programm aus dem offiziellen Software-Repository von Ubuntu.

$ sudo apt-get install nginx
Nach dem Login kopieren

So installieren Sie die LEMP-Umgebung für den Nginx-Server in Ubuntu

Installieren Sie nginx
2 auf Ubuntu 16.04 und geben Sie dann die Befehle netstat und systemctl ein, um zu bestätigen, dass der Nginx-Prozess gestartet und an Port 80 gebunden wurde.

$ netstat -tlpn
Nach dem Login kopieren

So installieren Sie die LEMP-Umgebung für den Nginx-Server in Ubuntu

Überprüfen Sie die Nginx-Netzwerk-Port-Verbindung.

$ sudo systemctl status nginx.service
Nach dem Login kopieren

So installieren Sie die LEMP-Umgebung für den Nginx-Server in Ubuntu

Überprüfen Sie den Nginx-Dienststatus.

Wenn Sie bestätigen, dass der Dienstprozess gestartet wurde, können Sie einen Browser öffnen und über das http-Protokoll auf die IP-Adresse Ihres Servers zugreifen oder Domänenname, durchsuchen Sie die Standardwebseite von Nginx.

http://ip-address
Nach dem Login kopieren

So installieren Sie die LEMP-Umgebung für den Nginx-Server in Ubuntu

Schritt 2: Nginx-http/2.0-Protokoll aktivieren

3. Die Unterstützung für das http/2.0-Protokoll ist standardmäßig in der Nginx-Binärdatei der neuesten Version von Ubuntu 16.04 enthalten. Es kann nur über SSL verbunden werden wird garantiert geladen. Die Geschwindigkeit von Webseiten wurde erheblich verbessert.

Um dieses Protokoll von Nginx zu aktivieren, suchen Sie zunächst die von Nginx bereitgestellte Website-Konfigurationsdatei und geben Sie den folgenden Befehl ein, um die Konfigurationsdatei zu sichern.

$ cd /etc/nginx/sites-available/
$ sudo mv default default.backup
Nach dem Login kopieren

So installieren Sie die LEMP-Umgebung für den Nginx-Server in Ubuntu

Nginx-Website-Konfigurationsdatei sichern
4. Erstellen Sie dann mit einem Texteditor eine Standarddatei und geben Sie den folgenden Inhalt ein:

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;
}
Nach dem Login kopieren

So installieren Sie die LEMP-Umgebung für den Nginx-Server in Ubuntu

Nginx-HTTP-2-Protokoll aktivieren
Der obige Konfigurationsausschnitt gilt für all ssl Fügen Sie dem Listening-Befehl den Parameter http2 hinzu, um http/2.0 zu aktivieren.

Der letzte Abschnitt, der oben zur Serverkonfiguration hinzugefügt wurde, wird verwendet, um den gesamten Nicht-SSL-Verkehr auf den SSL/TLS-Standardhost umzuleiten. Ersetzen Sie dann den Optionsparameter server_name durch die IP-Adresse oder den DNS-Eintrag Ihres Hosts (vorzugsweise den FQDN-Namen).

5. Nachdem Sie die obigen Schritte zum Bearbeiten der Standardkonfigurationsdatei von nginx ausgeführt haben, verwenden Sie die folgenden Befehle, um das SSL-Zertifikat und den SSL-Schlüssel zu generieren und anzuzeigen.

Schließen Sie die Zertifikatserstellung mit Ihren benutzerdefinierten Einstellungen ab. Beachten Sie, dass der allgemeine Name so eingestellt ist, dass er mit Ihrem DNS-FQDN-Eintrag oder Ihrer Server-IP-Adresse übereinstimmt.

$ 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/
Nach dem Login kopieren

So installieren Sie die LEMP-Umgebung für den Nginx-Server in Ubuntu

Generieren Sie das SSL-Zertifikat und den Schlüssel von nginx
6. Verwenden Sie einen starken DHCP-Verschlüsselungsalgorithmus, indem Sie den folgenden Befehl eingeben, der die durch die vorherige Konfigurationsdatei ssl_dhparam konfigurierte Datei ändert.

$ sudo openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
Nach dem Login kopieren

So installieren Sie die LEMP-Umgebung für den Nginx-Server in Ubuntu

Diffie-Hellman-Schlüssel erstellen
7 Überprüfen Sie nach der Generierung des Diffie-Hellman-Schlüssels, ob die Nginx-Konfigurationsdatei korrekt ist und vom Nginx-Netzwerkdienstprogramm angewendet werden kann. Führen Sie dann den folgenden Befehl aus, um den Daemon neu zu starten und alle Änderungen zu beobachten.

$ sudo nginx -t
$ sudo systemctl restart nginx.service
Nach dem Login kopieren

So installieren Sie die LEMP-Umgebung für den Nginx-Server in Ubuntu

Überprüfen Sie die Nginx-Konfiguration
8. Geben Sie den folgenden Befehl ein, um zu testen, ob Nginx das http/2.0-Protokoll verwendet. Wenn Sie im Protokoll h2 sehen, bedeutet dies, dass Nginx erfolgreich für die Verwendung des http/2.0-Protokolls konfiguriert wurde. Alle aktuellen Browser unterstützen dieses Protokoll standardmäßig.

$ openssl s_client -connect localhost:443 -nextprotoneg ''
Nach dem Login kopieren

So installieren Sie die LEMP-Umgebung für den Nginx-Server in Ubuntu

Testen Sie das Nginx-HTTP-2.0-Protokoll. fastcgi kann durch die Installation des PHP-FPM-Binärpakets aus dem offiziellen Ubuntu-Repository erhalten werden.

9. Geben Sie den folgenden Befehl in Ihre Serverkonsole ein, um PHP7.0 und das Erweiterungspaket zu erhalten, das PHP die Kommunikation mit dem Nginx-Netzwerkdienstprozess ermöglicht.

$ sudo apt install php7.0 php7.0-fpm
Nach dem Login kopieren

Installieren Sie PHP 7 und PHP-FPM

10. Wenn der PHP7.0-Interpreter erfolgreich installiert wurde, geben Sie den folgenden Befehl ein, um den PHP7.0-FPM-Daemon zu starten oder zu überprüfen: So installieren Sie die LEMP-Umgebung für den Nginx-Server in Ubuntu

$ sudo systemctl start php7.0-fpm
$ sudo systemctl status php7.0-fpm
Nach dem Login kopieren

So installieren Sie die LEMP-Umgebung für den Nginx-Server in Ubuntu

开启、验证 php-fpm 服务
11、 当前的 nginx 配置文件已经配置了使用 php fpm 来提供动态内容。

下面给出的这部分服务器配置让 nginx 能够使用 php 解释器,所以不需要对 nginx 配置文件作别的修改。

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

下面是的截图是 nginx 默认配置文件的内容。你可能需要对其中的代码进行修改或者取消注释。

So installieren Sie die LEMP-Umgebung für den Nginx-Server in Ubuntu

启用 php fastcgi
12、 要测试启用了 php-fpm 的 nginx 服务器,用下面的命令创建一个 php 测试配置文件 info.php。接着用 http://ip_or domain/info.php 这个网址来查看配置。

$ sudo su -c &#39;echo "<?php phpinfo(); ?>" |tee /var/www/html/info.php&#39;
Nach dem Login kopieren

So installieren Sie die LEMP-Umgebung für den Nginx-Server in Ubuntu

创建 php info 文件

So installieren Sie die LEMP-Umgebung für den Nginx-Server in Ubuntu

检查 php fastcgi 的信息
检查服务器是否宣告支持 http/2.0 协议,定位到 php 变量区域中的 $_server[‘server_protocol'] 就像下面这张截图一样。

So installieren Sie die LEMP-Umgebung für den Nginx-Server in Ubuntu

检查 http2.0 协议信息
13、 为了安装其它的 php7.0 模块,使用 apt search php7.0 命令查找 php 的模块然后安装。

如果你想要 安装 wordpress 或者别的 cms,需要安装以下的 php 模块,这些模块迟早有用。

$ sudo apt install php7.0-mcrypt php7.0-mbstring
Nach dem Login kopieren

So installieren Sie die LEMP-Umgebung für den Nginx-Server in Ubuntu

安装 php 7 模块
14、 要注册这些额外的 php 模块,输入下面的命令重启 php-fpm 守护进程。

$ sudo systemctl restart php7.0-fpm.service
Nach dem Login kopieren

第 4 步:安装 mariadb 数据库

15、 最后,我们需要 mariadb 数据库来存储、管理网站数据,才算完成 lemp 的搭建。

运行下面的命令安装 mariadb 数据库管理系统,重启 php-fpm 服务以便使用 mysql 模块与数据库通信。

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

So installieren Sie die LEMP-Umgebung für den Nginx-Server in Ubuntu

安装 mariadb
16、 为了安全加固 mariadb,运行来自 ubuntu 软件仓库中的二进制包提供的安全脚本,这会询问你设置一个 root 密码,移除匿名用户,禁用 root 用户远程登录,移除测试数据库。

输入下面的命令运行脚本,并且确认所有的选择。参照下面的截图。

$ sudo mysql_secure_installation
Nach dem Login kopieren

So installieren Sie die LEMP-Umgebung für den Nginx-Server in Ubuntu

mariadb 的安全安装
17、 配置 mariadb 以便普通用户能够不使用系统的 sudo 权限来访问数据库。用 root 用户权限打开 mysql 命令行界面,运行下面的命令:

$ sudo mysql 
mariadb> use mysql;
mariadb> update user set plugin=&#39;‘ where user=&#39;root&#39;;
mariadb> flush privileges;
mariadb> exit
Nach dem Login kopieren

So installieren Sie die LEMP-Umgebung für den Nginx-Server in Ubuntu

mariadb 的用户权限
最后通过执行以下命令登录到 mariadb 数据库,就可以不需要 root 权限而执行任意数据库内的命令:

$ mysql -u root -p -e &#39;show databases&#39;
Nach dem Login kopieren

So installieren Sie die LEMP-Umgebung für den Nginx-Server in Ubuntu

查看 mariadb 数据库

Das obige ist der detaillierte Inhalt vonSo installieren Sie die LEMP-Umgebung für den Nginx-Server in Ubuntu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage