Heim  >  Artikel  >  Backend-Entwicklung  >  So lösen Sie das Problem, dass Nginx mehrere Sites für die gemeinsame Nutzung von Port 80 konfiguriert

So lösen Sie das Problem, dass Nginx mehrere Sites für die gemeinsame Nutzung von Port 80 konfiguriert

不言
不言Original
2018-06-11 14:11:317907Durchsuche

Dieser Artikel stellt hauptsächlich die Lösung für Nginx vor, um mehrere Sites für die gemeinsame Nutzung von Port 80 zu konfigurieren. Dieser Artikel stellt es Ihnen ausführlich vor und hat einen bestimmten Referenzwert. Freunde, die es benötigen, können darauf verweisen

Nur Verwenden Sie „Ändern Sie einen Ort“ und fügen Sie das Verzeichnis der virtuellen Host-Konfigurationsdatei hinzu, auf das Sie im http-Modul verweisen möchten:

Zum Beispiel: include /usr/local/nginx/default.d/*.conf;

http {
  log_format main '$remote_addr - $remote_user [$time_local] "$request" '
           '$status $body_bytes_sent "$http_referer" '
           '"$http_user_agent" "$http_x_forwarded_for"';
  access_log /var/log/nginx/access.log main;
  sendfile      on;
  tcp_nopush     on;
  tcp_nodelay     on;
  keepalive_timeout  65;
  types_hash_max_size 2048;
  include       /etc/nginx/mime.types;
  default_type    application/octet-stream;
  include /usr/local/nginx/default.d/*.conf; //就这里加一行就可以了
}

2. Erstellen Sie ein virtuelles Host-Konfigurationsverzeichnis:

Erstellen Sie einen /usr/local/nginx/-Ordner unter default.d, um die Website-Konfigurationsdateien gezielt zu platzieren.

Meine Konfiguration posten:

/usr/local/nginx/default.d/mytest.conf

server {
  listen    80 ;  //注意这里,要把默认的那个default_server去掉,因为我们在下面要单独配置域名访问,所以这里不要留default_server,不然会报错。
  server_name mytest.com; //这里写你想设置的域名,可以写多个,与名之间用空格隔开
  root     /mnt/share/mytest.com;  //这里是你虚拟机的根目录,写绝对路径
  # Load configuration files for the default server block.

  location / {
    index index.php index.html index.htm; //这里配置默认访问的页面
  }
  location ~* \.php$ {  //这里配置php解析.php文件

    fastcgi_index  index.php;
    fastcgi_pass  127.0.0.1:9000;
    include     fastcgi_params;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    fastcgi_param  SCRIPT_NAME    $fastcgi_script_name;
  }
  error_page 404 /404.html;  //默认的错误页面
    location = /40x.html {
  }
  error_page 500 502 503 504 /50x.html;
    location = /50x.html {
  }
}

Noch eine:

server {
    listen    80;
    server_name www.mytest1.com;
    root     /var/www/html;
    index index.html index.htm index.php;
    location / {
      try_files $uri $uri/ /index.php?$query_string;
    }
    location = /favicon.ico {
     log_not_found off;
    }
    location ~ \.php$ {
      fastcgi_pass  127.0.0.1:9000;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      include    fastcgi_params;
    }
}

3. Wenn Wenn Sie andere virtuelle Maschinen erstellen möchten, kopieren Sie einfach die obige Datei und ändern Sie die von mir markierten Stellen!

4. Nachdem die Konfigurationsdatei der virtuellen Maschine konfiguriert wurde, müssen Sie unter Linux den oben genannten Domänennamen unter der Hosts-Datei hinzufügen, andernfalls haben Sie weiterhin Zugriff auf das externe Netzwerk.

vim /etc/hosts
127.0.0.1  mytest1.com
127.0.0.1  mytest.com

5. Wenn wir in der virtuellen Maschine unter Windows auf die Website zugreifen möchten, müssen wir auch die Hosts-Datei unter Windows konfigurieren, zum Beispiel:

192.168.0.27  mytest1.com
192.168.0.27  mytest.com

6. Aufgetretene Probleme:

nginx: [emerg] a duplicate default server for 0.0.0.0:80 in /etc/nginx/vhosts/

Wenn dieses Problem auftritt, muss es so sein:

server {
  listen    80

Entfernen Sie alles nach 80 an dieser Stelle und lassen Sie nur die Portnummer 80 übrig. Entfernen Sie es Problem kann gelöst werden.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Nginx-Konfiguration PATHINFO hide thinkphp index.php

Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem, dass Nginx mehrere Sites für die gemeinsame Nutzung von Port 80 konfiguriert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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