Nginx-Konfiguration: Trennung von PC-Site und mobiler Site zur Realisierung der Umleitung

Nginx-Konfiguration: Trennung von PC-Site und mobiler Site zur Realisierung der Umleitung

Verwenden Sie nginx, um die Trennung von PC-Site und mobiler Site zu konfigurieren. Meine PC-Site und mobile Site sind im Nuxt-Framework geschrieben, da Nuxt für SEO praktisch ist. Nuxt basiert auf der Verbesserung von Vue. Wenn Sie es nicht wissen, suchen Sie bewusst nach Nuxt.

1. Installieren Sie nginx basierend auf der APT-Quelle

sudo apt-get installiere nginx

2. Erstellen Sie eine neue Konfigurationsdatei test.com im angegebenen Verzeichnis: Der Dateiname ist beliebig

//Das Verzeichnis befindet sich in /etc/nginx/sites-available/ 

3. Bearbeiten Sie die Konfigurationsdatei und den Inhalt:

Beim Bearbeiten oder Speichern von Dateien können Probleme auftreten, beispielsweise aufgrund unzureichender Berechtigungen:

1. Sie können sudo vi verwenden oder zuerst vim installieren und dann sudo vim verwenden, um die Datei zu bearbeiten

3. Verwenden Sie sudo su direkt und geben Sie das Kennwort ein, um zum Root-Benutzer zu wechseln.

2. Sie können auch direkt chmod 777 /etc/nginx ausführen, um die Berechtigungen des gesamten Nginx-Ordners zu ändern.

Server {
  hören Sie 80;
  Servername kason995.com;

  Setzen Sie $mobile_rewrite auf „nicht_ausführen“.

  if ($http_user_agent ~* "(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od|ad)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino") {
    Setzen Sie $mobile_rewrite und führen Sie es aus.
  }

  if ($http_user_agent ~* "^(1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[aw])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-)") {
    Setzen Sie $mobile_rewrite und führen Sie es aus.
  }

  Standort / {
    wenn ($mobile_rewrite = ausführen) {
    return 301 [http://kason<wbr>995.com/m$re<wbr>quest_uri](http://kason995.com/m$request_uri); # Mobile Version}
    wenn ($mobile_rewrite = nicht_ausführen) {
    proxy_pass [http://172.1<wbr>68.1.93:8009](http://172.168.1.93:8009/); # PC-Version}

    Proxy_http_Version 1.1;
    Proxy_Set_Header-Upgrade $http_upgrade;
    proxy_set_header Verbindung „Upgrade“;
    Proxy_Set_Header Host $host;
    Proxy-Cache-Bypass $http_upgrade;
  }

  Standort ^~/m/ {
    Proxy-Passwort [http://172.1<wbr>68.1.93:8090](http://172.168.1.93:8090/);
    Proxy_http_Version 1.1;
    Proxy_Set_Header-Upgrade $http_upgrade;
    proxy_set_header Verbindung „Upgrade“;
    Proxy_Set_Header Host $host;
    Proxy-Cache-Bypass $http_upgrade;
  }
}
Server {
  hören Sie 80;
  Servername kason995.com;

  Setzen Sie $mobile_rewrite auf „nicht_ausführen“.

  if ($http_user_agent ~* "(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od|ad)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino") {
    Setzen Sie $mobile_rewrite und führen Sie es aus.
  }

  if ($http_user_agent ~* "^(1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[aw])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-)") {
    Setzen Sie $mobile_rewrite und führen Sie es aus.
  }

  Standort / {
    wenn ($mobile_rewrite = ausführen) {
    return 301 [http://kason<wbr>995.com/m$re<wbr>quest_uri](http://kason995.com/m$request_uri); # Mobile Version}
    wenn ($mobile_rewrite = nicht_ausführen) {
    proxy_pass [http://172.1<wbr>68.1.93:8009](http://172.168.1.93:8009/); # PC-Version}

    Proxy_http_Version 1.1;
    Proxy_Set_Header-Upgrade $http_upgrade;
    proxy_set_header Verbindung „Upgrade“;
    Proxy_Set_Header Host $host;
    Proxy-Cache-Bypass $http_upgrade;
  }

  Standort ^~/m/ {
    Proxy-Passwort [http://172.1<wbr>68.1.93:8090](http://172.168.1.93:8090/);
    Proxy_http_Version 1.1;
    Proxy_Set_Header-Upgrade $http_upgrade;
    proxy_set_header Verbindung „Upgrade“;
    Proxy_Set_Header Host $host;
    Proxy-Cache-Bypass $http_upgrade;
  }
}

4. Softverbindungen konfigurieren und anzeigen

5. Ändern Sie die Hosts-Datei von Ubuntu.

Stellen Sie sicher, dass der Domänenname 995.com der IP-Adresse des lokalen Windows-Computers oder 127.0.0.1 entspricht.

C:\Windows\System32\drivers\etc 

Wenn der benutzerdefinierte Domänenname nach dem Neustart immer noch nicht normal aufgelöst werden kann, wird empfohlen, die Hosts-Datei des Windows-Computers zu konfigurieren.

Der Katalog ist hier

C:\Windows\System32\drivers\etc

Dies ist meine Hosts-Datei in Windows:

# Copyright (c) 1993-2009 Microsoft Corp.
#
# Dies ist eine Beispiel-HOSTS-Datei, die von Microsoft TCP/IP für Windows verwendet wird.
#
# Diese Datei enthält die Zuordnungen von IP-Adressen zu Hostnamen.
# Eintrag sollte in einer eigenen Zeile stehen. Die IP-Adresse sollte
# muss in die erste Spalte eingefügt werden, gefolgt vom entsprechenden Hostnamen.
# Die IP-Adresse und der Hostname sollten durch mindestens eins getrennt sein
# Raum.
#
# Zusätzlich können Kommentare (wie diese) auf einzelnen
# Zeilen oder nach dem Maschinennamen, gekennzeichnet durch ein „#“-Symbol.
#
# Zum Beispiel:
#
# 102.54.94.97 rhino.acme.com # Quellserver
# 38.25.63.10 x.acme.com # x Client-Host

# Die Namensauflösung des lokalen Hosts wird innerhalb des DNS selbst gehandhabt.
# 127.0.0.1 lokaler Host
# ::1 lokaler Host

172.168.1.117 kason995.com
# Die obige Zeile ist für benutzerdefinierte Domänennamendienste.
192.30.255.112 github.com git 
185.31.16.184 github.global.ssl.fastly.net

6. Starten Sie Nginx neu

nginx -s neu laden

7. Verwenden Sie einen benutzerdefinierten Domänennamen in Ubuntu, um den Zugriff auf die PC-Site zu testen.

8. Verwenden Sie einen benutzerdefinierten Domänennamen in Ubuntu, um den Zugriff auf die mobile Site zu testen;

Dies ist das Ende dieses Artikels über die Nginx-Konfiguration zur Trennung von PC- und Mobilsites zur Erzielung einer Umleitung. Weitere relevante Inhalte zur Trennung von PC- und Mobilsites durch Nginx finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • So konfigurieren Sie Nginx, um zwischen dem PC- oder Mobiltelefonzugriff auf verschiedene Domänennamen zu unterscheiden

<<:  Detaillierte Analyse der MySQL-Indizes

>>:  Analyse der Verwendung von MySQL-Abfragesortierung und Abfrageaggregationsfunktionen

Artikel empfehlen

Verwenden Sie vue2+elementui für Hover-Prompts

Die Hover-Prompts von Vue2+elementui sind in exte...

Beispiele und Vergleich von 3 Methoden zur Deduplizierung von JS-Objekt-Arrays

Inhaltsverzeichnis 1. Vergleich der Daten vor und...

Webdesign-Tutorial (6): Behalte deine Leidenschaft für Design

<br />Vorheriger Artikel: Webdesign-Tutorial...

Front-End-JavaScript versteht Funktions-Currying gründlich

Inhaltsverzeichnis 1. Was ist Curry 2. Verwendung...

Lösung für den Konflikt zwischen zwei Registerkartennavigation in HTML

Beginnen wir mit einer Beschreibung des Problems:...

Detaillierter Code zum Hinzufügen von Electron zum Vue-Projekt

1. Fügen Sie package.json hinzu "Haupt"...

Zusammenfassung zur Positionierung in CSS

Es gibt vier Arten der Positionierung in CSS, die...

Der Unterschied zwischen br und br/ in HTML

Antwort von Stackflow: Einfaches <br> genügt...

Detailliertes Tutorial zur Installation und Deinstallation von MySql

In diesem Artikel finden Sie das Tutorial zur Ins...