引言:之前在自己電腦上裝完Ubuntu之后凭迹,一直想要搭建圖片服務(wù)器夺衍。今天花了3個(gè)小時(shí)時(shí)間,看著教程难菌,自己慢慢摸索竞惋,總算全部弄完了。灰嫉。拆宛。。
1讼撒、首先浑厚,你需要知道為什么要搭建圖片服務(wù)器?
? ? ? ? 以前看過(guò)很多的博主啊根盒,大佬什么都說(shuō)過(guò)钳幅,直接存圖片在tomcat中不好,會(huì)出現(xiàn)各種問(wèn)題炎滞。起初我也感覺(jué)不到什么問(wèn)題敢艰。后來(lái)册赛,在做到一個(gè)項(xiàng)目的時(shí)候,有許多的圖片牡属,一下子全部放到tomcat上(很多還是超清圖片)扼睬,站點(diǎn)直接爆炸了。訪問(wèn)起來(lái)太慢了措伐,雖然最終在前輩的幫助下完成了军俊,但是也堅(jiān)定了我做圖片服務(wù)器的心。
2官硝、其次,你需要一些現(xiàn)成的材料氢架。
pcre:Nginx在Ubuntu上需要依賴(lài)的一個(gè)庫(kù):
鏈接: https://pan.baidu.com/s/1mIH0xUdP-t3Y0QjulP2BWg 密碼: z5at
zlib:Nginx在Ubuntu上需要依賴(lài)的另一個(gè)庫(kù):
鏈接: https://pan.baidu.com/s/1t9LRupRiRrBjVA3PO7o9TQ 密碼: kdc4
Nginx:在Ubuntu上的包:
鏈接: https://pan.baidu.com/s/1U8lG9StMq0bIC6ldKCObNw 密碼: wbpt
提示:這3個(gè)包最好放到一個(gè)文件夾中岖研。
3卿操、開(kāi)始正式裝載孙援。
首先拓售,將上面提到的三個(gè)包放到一個(gè)文件夾中。通過(guò)命令行先解壓础淤、安裝上面兩個(gè)包。
類(lèi)似于這種方式解壓完之后币砂,在Ubuntu上安裝完兩個(gè)依賴(lài)庫(kù)(具體如何安裝請(qǐng)百度)玻侥。
裝完后對(duì)Nginx進(jìn)行解壓安裝。(同上)
隨后對(duì)這個(gè)文件進(jìn)行修改:
修改內(nèi)容如下:
#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? 192.168.237.128;
? ? ? ? #charset koi8-r;
? ? ? ? #access_log? logs/host.access.log? main;
? ? ? ? location ~ .*\.(gif|jpg|jpeg|png)$ {?
? ? ? ? ? ? expires 24h;?
? ? ? ? ? ? root /home/david/images/;#指定圖片存放路徑?
? ? ? ? ? ? proxy_store on;?
? ? ? ? ? ? proxy_store_access user:rw group:rw all:rw;?
? ? ? ? ? ? proxy_temp_path? ? ? ? /home/david/images/;#代理臨時(shí)路徑
? ? ? ? ? ? proxy_redirect? ? ? ? ? off;?
? ? ? ? ? ? proxy_set_header? ? ? ? Host 192.168.237.128;?
? ? ? ? ? ? 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://192.168.237.128:8088;#代理訪問(wèn)地址?
? ? ? ? ? ? }?
? ? ? ? }
? ? ? ? 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;
? ? ? ? #}
? ? }
? ? # 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;
? ? #? ? }
? ? #}
}
4票摇、端口開(kāi)啟和測(cè)試圖片
首先,在Ubuntu上啟動(dòng)Nginx的代理服務(wù):
啟動(dòng)之后訪問(wèn)在剛剛配置中指定文件夾的圖片:
隨后到虛擬機(jī)外面開(kāi)啟外部端口:
我這邊開(kāi)啟的是8088端口:(同時(shí)Ubuntu上的8088對(duì)應(yīng)端口也要打開(kāi))
完成之后就可以訪問(wèn)了: