我找到的每个 nginx 配置指南都是关于为 example.com 设置服务器的。但我没有域名,我想设置一个本地 DNS,类似于 Windows 中使用 XAMPP 附带的 Apache 中的 localhost。我想创建两个端口,我相信这是 nginx 中的服务器块。其中一个端口用于 api,其中一个端口用于前端。我创建了两个文件:
/etc/nginx/conf.d/chubak.conf:
server {
listen 85;
server_name chubak.com;
access_log /srv/logs/vue.access.log;
error_log /srv/logs/vue.error.log;
gzip_static on;
# root /srv/default;
root /var/www/chubak.com/html;
index index.html;
location / {
add_header 'Access-Control-Allow-Origin' '*';
try_files $uri $uri/ /index.html;
}
和/etc/nginx/conf.d/api.chubak.conf:
server {
listen 180;
server_name api.chubak.com;
access_log /var/www/api.chubak.com/logs/api.access.log;
error_log /var/www/api.chubak.com/logs/api.error.log;
root /var/www/api.chubak.com/html;
index index.php index.html;
client_max_body_size 128M;
location / {
try_files $uri $uri/ /index.php?_url=$uri&$args;
}
location ~ \.php$ {
include /etc/nginx/fastcgi.conf;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
try_files $uri =404;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_read_timeout 600;
fastcgi_intercept_errors on;
gzip off;
fastcgi_index index.php;
}
我已经在 /var/www/site/html 文件夹中创建了 index.html 文件,但我不知道如何访问它们。正如我所说,教程始终假设您有一个指向您的服务器的域名。
答案1
基于 debian 的系统的 localhost 文件是/etc/hosts
.只需在最后一行后添加一行127.0.0.1
,如下所示(使用最合适的 IP 地址):
127.0.0.1 chubak.com
127.0.0.1 api.chubak.com