我将nginx设置为图像服务器(唯一的目的是为应用程序提供图像)。我将其配置为在特定端口上侦听,并将位置/
根目录设置为包含所有图像的文件夹。如果我导航到http://localhost:8088我收到了nginx欢迎页面(因此我知道它正在工作)。但是如果我试图通过导航到http://localhost:8088/alcala/images/myimage.jpg,我有一个404。我已经确定root是文件夹的所有者(它是一个开发框,所以我现在不太关心权限),并且我已经对该位置的所有文件夹/文件执行了chmod 755。这是我的nginx配置:
nginx配置
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#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 logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 8088;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /var/www/;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
include servers/*;
}
您可以看到位置根被设置为 /var/www并且我的所有图像都存储在 /var/www/alcala/images/中(并且都具有相应的权限)。我做错了什么?
我通过设置一个位置节点(在my/home/directory之外),然后对整个目录授予权限(chmod755),修复了这个问题。我的新配置如下所示:
nginx。形态
#user html;
worker_processes 1;
error_log /var/log/nginx/error.log;
error_log /var/log/nginx/error.log notice;
error_log /var/log/nginx/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#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 logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 8088;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
autoindex on;
autoindex_exact_size off;
}
location /images {
alias /var/www/alcala/images;
add_header Cache-control "public";
access_log off;
expires 90d;
autoindex on;
autoindex_exact_size off;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}
我做了chmod-r755/var/www
,现在我可以毫无问题地提供我的图像了。
我在android中使用FAB,我增加了Src图像大小来覆盖FAB,但现在每当我点击FAB时,涟漪效应会显示在图像后面,而不是上面,这不会给人一种FAB被点击的感觉 我的晶圆厂代码
我在PhoneGap,我必须上传一个图像文件到我的服务器通过选择图像表单设备Galler,为此我尝试了ImagePicker,但没有工作。然后我尝试从打开android设备上的gallery的输入字段中选择文件,但我无法获得其完整的uri路径 请告诉我如何在服务器上上传文件并将上传的配置文件图像显示给用户
我得到同样的错误,比如 数组([lpj]= 这是我的控制器 萨米能帮我吗?
问题内容: 我有一个可以制作图片并上传图片的应用。上载需要照片的文件路径,但无法获取。 这是我的代码: 请帮助我获取文件路径。 谢谢 问题答案: 发布到Twitter时,需要在发布请求中发送图片在设备上的实际路径。我发现很难找到实际的路径,而且经常会发现错误的路径。 为了解决这个问题,一旦有了a ,我就可以使用来获取。随后,我使用实例获取设备上的实际路径。 这是生产代码,并且经过了自然测试。;-)
问题内容: 如何在servlet中提供存储在我的硬盘中的图像? 例如: 我有一个图像存储在path中,并且我想使用URL在servlet中提供该图像。 问题答案: 将servlet映射到url-pattern 从磁盘读取文件 写到 将标头设置为(如果只是png)
问题内容: 我正在尝试从YouTube API解析json响应数据,但我一直收到错误消息。 这是令人窒息的片段: ..发生这种情况: 我已经确认它是有效的json,并且无法控制其格式,因此如何克服此错误? 问题答案: 您需要在“”“之前添加一个,或全部替换为。从其他地方读取json时,您不必担心这件事,而是字符串本身中的事。 看到这里获取更多信息