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