iso*_*01_ 10 configuration nginx configuration-files
我是nginx的新手,我被要求找到一种方法来提供根据缩放级别分离的Map Tiles.图像文件结构类似于~/data/images/7/65/70.png7是缩放级别,65和70是lon-lat值.文件夹65包含许多文件,例如71.png,72.png等.
我已经正确安装了Nginx,我可以收到Welcome to nginx消息.我已按照指示http://nginx.org/en/docs/beginners_guide.html和创建/data/www和/data/images目录.我已将index.html文件放在下面,/data/www并将图片放在下面/data/images.然后我通过在http标签中添加以下行来修改配置文件:
server {
location / {
root /data/www;
}
location /images/ {
root /data;
}
}
Run Code Online (Sandbox Code Playgroud)
重新加载配置文件并在浏览器上输入localhost后,我既无法获取index.html文件,也无法查看图像.
我想要做的是在输入内容时显示图像:
http://localhost/1.0.0/basemap/7/65/70.png
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
Moh*_*ady 16
好吧,让我解释一下,你已经有了一个localhost服务器,它被定义在一个文件中,该文件被称为default导致"欢迎使用nginx"的文件或者出现的东西,我相信你不能创建一个新的服务器同样server_name,让我们删除它,让你的localhost只提供那些图像,
default文件sites-enabled,sites-available如果您想要将其恢复,它仍将存在于内部.(请注意,里面的所有文件sites-enabled都只是来自文件里面的符号链接sites-available)sites-available并在任何你想要的地方调用它,images-app例如在images-app文件中创建新服务器,我假设应用程序的根目录在一个文件夹中/data,当然你会将它映射到你自己的服务器结构.
server {
server_name localhost;
root /data;
index index.html;
location / {
try_files $uri =404;
}
}
Run Code Online (Sandbox Code Playgroud)现在我们去sites-enabled启用我们在里面创建的这个网站sites-available
sudo ln -s /etc/nginx/sites-available/images-app /etc/nginx/sites-enabled/
Run Code Online (Sandbox Code Playgroud)确保所有nginx配置都正确
sudo nginx -t
Run Code Online (Sandbox Code Playgroud)如果没有错,我们可以继续并重新加载nginx设置
sudo service nginx reload
Run Code Online (Sandbox Code Playgroud)我也是 nginx 的新手,这是我的解决方案,与 Mohammad AbuShady 的答案类似:
sites-enabled/defaultwhatever.conf在/etc/nginx/conf.d/原因是:
sites-enabled/default已经定义了一个服务器正在使用 /var/www/html 监听 80 root
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
}
Run Code Online (Sandbox Code Playgroud)
nginx.conf文件包含其他conf文件include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
Run Code Online (Sandbox Code Playgroud)
my.conf 的第一版是 /home/myusername/ 上的 root,但会收到 403 Forbidden 错误,检查 error.log:
2016/04/07 20:12:44 [error] 12466#0: *2 open() "/home/myusername/data/a" failed (13: Permission denied),
client: 127.0.0.1, server: , request: "GET /a HTTP/1.1", host: "localhost"
Run Code Online (Sandbox Code Playgroud)
就我而言,我刚刚编辑了/etc/nginx/sites-enabled/default文件。
我添加了以下配置:
location /images/ {
root /data;
}
Run Code Online (Sandbox Code Playgroud)
并将图像放置在/data/images:
和 url 有效:http://localhost/images/example.png
我使用 VS Code 作为超级用户。(我知道这很糟糕,但我接受风险)它对 root 访问文件编辑有很大帮助:
| 归档时间: |
|
| 查看次数: |
36079 次 |
| 最近记录: |