我刚刚安装并配置了 nginx 来监听 81 端口。我没有更改文件nginx.conf
,删除了sites-available/default
,添加了一个dystroy.org
文件sites-available
:
server {
listen 81;
root /var/www/dystroy;
index index.html index.php;
server_name dystroy.org www.dystroy.org;
location / {
try_files $uri $uri/ /index.html;
}
}
我将其链接起来:
dystroy@server:/etc/nginx$ ls -al sites-available/
total 12
drwxr-xr-x 2 dys dys 4096 Nov 19 11:19 .
drwxr-xr-x 6 dys dys 4096 Nov 19 10:31 ..
-rwxr-xr-x 1 dys dys 190 Nov 19 11:01 dystroy.org
dystroy@server:/etc/nginx$ ls -al sites-enabled/
total 8
drwxr-xr-x 2 dys dys 4096 Nov 19 11:06 .
drwxr-xr-x 6 dys dys 4096 Nov 19 10:31 ..
lrwxrwxrwx 1 dys dys 27 Nov 19 10:35 dystroy.org -> sites-available/dystroy.org
该进程正在运行,但服务器根本没有应答,无论是远程还是本地:
dystroy@server: curl -i localhost:81
curl: (7) couldn't connect to host
里面什么也没有error.log
。
我做错了什么?如何查找并修复错误?
答案1
让我猜猜,这是你创建符号链接的方式:
dystroy@server:/etc/nginx$ ln -s sites-available/dystroy.org sites-enabled/
嗯,这会创建一个错误的符号链接。
正如您在启用颜色的图像中看到的,符号链接没有指向现有路径。
为了简单起见,使用绝对路径。
dystroy@server:/etc/nginx$ ln -s /etc/nginx/sites-available/dystroy.org /etc/nginx/sites-enabled/dystroy.org
参见我的修复示例:
然后,重新启动 nginx,一切就绪了。
为了完整起见,您可以这样创建有效的相对路径:
dystroy@server:/etc/nginx$ ln -s ../sites-available/dystroy.org sites-enabled/dystroy.org
或者,在建立链接时使用 bash 补全:
dystroy@server:/etc/nginx$ cd sites-enabled/
dystroy@server:/etc/nginx/sites-enabled$ ln -s ../sites-available/dystroy.org .