使用nginx实现动静分离,访问ftp中的图片
在一个自己的写的小项目中,刚好使用了nginx。
做个笔记nginx的基本操作命令:
1、启动:
C:\server\nginx-1.0.2>start nginx
2、停止:
C:\server\nginx-1.0.2>nginx.exe -s stop
3、重新载入Nginx:
C:\server\nginx-1.0.2>nginx.exe -s reload
4、重新打开日志文件:
C:\server\nginx-1.0.2>nginx.exe -s reopen
5、查看Nginx版本:
C:\server\nginx-1.0.2>nginx -v
问题:
项目中有很多图片,所以我搭建的了一个ftp图片服务器来存放图片,
当我完成图片上传到ftp服务器中时,发现如果要在页面显示ftp上的图片,
通过百度查到
https://www.cnblogs.com/Donnnnnn/articles/10455084.html,
感觉方式都不怎么好,刚好nginx有一个动静分离的功能
nginx配置图片等静态文件路径:通过配置nginx的conf文件
server { listen 8089;#这个是监听的端口 server_name localhost; #charset utf-8; #access_log logs/host.access.log main; #添加博客的代码 location ~ .*\.(gif|jpg|jpeg|png)$ { expires 24h; root D:/PicTure/;#指定图片存放路径 ftp存放图片路径 access_log D:/PicTure/log;#图片路径log自己在对应目录建一个 proxy_store on; proxy_store_access user:rw group:rw all:rw; proxy_temp_path D:/PicTure/;#图片路径ftp存放图片路径 proxy_redirect off; proxy_set_header Host 127.0.0.1; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 1280k; proxy_connect_timeout 900; proxy_send_timeout 900; proxy_read_timeout 900; proxy_buffer_size 40k; proxy_buffers 40 320k; proxy_busy_buffers_size 640k; proxy_temp_file_write_size 640k; if ( !-e $request_filename) { #proxy_pass http://127.0.0.1;#默认80端口代理访问地址(这个我暂时也不知道有啥用) } } location / { root html; 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; #} }
通过配置,我实现了用ftp服务器存放网站的图片,用nginx实现动静分离,可以通过ip加端口去访问该图片,
不用通过 ftp://FTP用户名:FTP密码@IP地址/FTP目录下图片名 这种方式,因为我感觉这样把用户名密码都暴露了很不安全。
还有通过读取图片流的方式,也很麻烦的感觉。
所以选择nginx配置来实现我需要的功能。
加油啊,小伙子哈哈哈哈哈哈