摘要:下載以及相關(guān)模塊下載以及模塊并解壓。接著執(zhí)行,即可完成編譯安裝。運(yùn)行需要的配置首先需要在的上下文里增加一條這條是表示每上傳就更新進(jìn)度信息。
這篇文章的目的是在編譯安裝Nginx的同時(shí),安裝upload和uploadprogress模塊,以及運(yùn)行Drupal 8所需要的配置。
由于使用的是Raspberry pi 3B,所以系統(tǒng)用的Raspbian,Debian/Ubuntu應(yīng)該也是差不多的。
下載Nginx以及相關(guān)模塊
下載Nginx以及PCRE模塊并解壓。
進(jìn)入解壓后的Nginx目錄,執(zhí)行命令:
./configure --prefix=/etc/nginx --with-pcre=/tmp/pcre-8.39 --sbin-path=/usr/sbin/nginx --with-http_ssl_module --add-module=/mnt/sources/nginx-upload-module --add-module=/mnt/sources/nginx-upload-progress-module
第一個(gè)參數(shù)是Nginx安裝位置,第二個(gè)參數(shù)是PCRE源文件位置,第三個(gè)參數(shù)是Nginx啟動的位置。
接著執(zhí)行 make && make install,即可完成編譯安裝。
Drupal 8運(yùn)行需要的配置
首先需要在nginx.conf的http上下文里增加一條:
upload_progress proxied 1m;
這條是表示每上傳1M就更新進(jìn)度信息。
接下來就是Drupal網(wǎng)站的配置:
server { server_name d8.local.dev; root /mnt/apps/d8; client_max_body_size 1024m; client_body_buffer_size 2048k; # 這個(gè)地址是用來獲取進(jìn)度信息,proxied是http里配置的信息。 location ^~ /progress { report_uploads proxied; } location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } # Very rarely should these ever be accessed outside of your lan location ~* .(txt|log)$ { allow 192.168.0.0/16; deny all; } location ~ ..*/.*.php$ { return 403; } location ~ ^/sites/.*/private/ { return 403; } # Allow "Well-Known URIs" as per RFC 5785 location ~* ^/.well-known/ { allow all; } location ~ (^|/). { return 403; } location / { # 如果是自定義字段上傳的文件,就交由下面的代碼處理 if ($query_string ~ "X-Progress-ID=d+"){ rewrite ^(.*)$ /upload; } try_files $uri /index.php?$query_string; # For Drupal >= 7 } location /upload { # 文件上傳成功后,處理文件的頁面。index.php是Drupal的入口文件 upload_pass /index.php; # 是否附帶QueryString參數(shù) upload_pass_args on; # 臨時(shí)存放文件的目錄 upload_store /tmp/nginx_upload; # 存放上傳狀態(tài)的目錄,用于斷點(diǎn)續(xù)傳 upload_state_store /tmp/nginx_state; # 臨時(shí)目錄的權(quán)限 upload_store_access user:rw group:rw all:rw; # 提交到后臺的字段名 set $upload_field_name "tmp_file"; # 文件名 upload_set_form_field $upload_field_name.name "$upload_file_name"; # 文件類型 upload_set_form_field $upload_field_name.content_type "$upload_content_type"; # 臨時(shí)路徑 upload_set_form_field $upload_field_name.path "$upload_tmp_path"; # 文件MD5信息 upload_aggregate_form_field "$upload_field_name.md5" "$upload_file_md5"; # 文件大小 upload_aggregate_form_field "$upload_field_name.size" "$upload_file_size"; # 原樣提交到后臺的表單字段,這里表示所有字段都提交給PHP upload_pass_form_field "^.*$"; upload_cleanup 400 404 499 500-505; } # Don"t allow direct access to PHP files in the vendor directory. location ~ /vendor/.*.php$ { deny all; return 404; } location ~ ".php$|^/update.php" { fastcgi_split_path_info ^(.+?.php)(|/.*)$; include fastcgi_params; fastcgi_param HTTP_PROXY ""; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param QUERY_STRING $query_string; fastcgi_intercept_errors on; # PHP 7 socket location. fastcgi_pass 127.0.0.1:9090; track_uploads proxied 60s; } location ~ ^/sites/.*/files/styles/ { # For Drupal >= 7 try_files $uri @rewrite; } # Handle private files through Drupal. Private file"s path can come # with a language prefix. location ~ ^(/[a-z-]+)?/system/files/ { # For Drupal >= 7 try_files $uri /index.php?$query_string; } location ~* .(js|css|png|jpg|jpeg|gif|ico)$ { expires max; log_not_found off; } }
在Drupal 8里的具體應(yīng)用,請看我的另一篇文章:Drupal 8 結(jié)合Nginx實(shí)現(xiàn)文件上傳進(jìn)度,提高上傳文件性能
程序員客棧,匯集各路碼農(nóng),找到你的靠譜技術(shù)小伙伴 http://t.cn/RXz4ONT
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/39468.html
摘要:自帶的上傳進(jìn)度功能,需要擴(kuò)展支持。于是想到利用的模塊來實(shí)現(xiàn)上傳進(jìn)度。接下來使用模塊替代的文件上傳功能,目的是提高文件上傳的性能。而且可以避免上傳大文件時(shí)執(zhí)行超時(shí)引起錯(cuò)誤。新建一個(gè)對象,把設(shè)置成剛上傳的文件。 Drupal 8 自帶的上傳進(jìn)度功能,需要PECL uploadprogress library擴(kuò)展支持。安裝后發(fā)現(xiàn)效果還是不太好,不知道什么原因,進(jìn)度條不能正常顯示,而且上傳較大...
摘要:自帶的上傳進(jìn)度功能,需要擴(kuò)展支持。于是想到利用的模塊來實(shí)現(xiàn)上傳進(jìn)度。接下來使用模塊替代的文件上傳功能,目的是提高文件上傳的性能。而且可以避免上傳大文件時(shí)執(zhí)行超時(shí)引起錯(cuò)誤。新建一個(gè)對象,把設(shè)置成剛上傳的文件。 Drupal 8 自帶的上傳進(jìn)度功能,需要PECL uploadprogress library擴(kuò)展支持。安裝后發(fā)現(xiàn)效果還是不太好,不知道什么原因,進(jìn)度條不能正常顯示,而且上傳較大...
摘要:測試運(yùn)行多次并取平均值。文章數(shù)量測試的基準(zhǔn)測試基準(zhǔn)測試結(jié)果基準(zhǔn)測試結(jié)果基準(zhǔn)測試結(jié)果基準(zhǔn)測試結(jié)果基準(zhǔn)測試結(jié)果基準(zhǔn)測試結(jié)果不支持再次成為冠軍請注意的運(yùn)行環(huán)境需要或以上。同時(shí),再次不能正常工作并拋出錯(cuò)誤。 showImg(https://segmentfault.com/img/remote/1460000013690286); 我們每年都會嘗試深入了解不同版本的 PHP 和 HHVM 在各...
摘要:前言近期在準(zhǔn)備搭建一個(gè)全棧開發(fā)的社區(qū),之前由于沒有云服務(wù)器搭建經(jīng)驗(yàn),這篇文章做一下相關(guān)的記錄,后續(xù)再深入學(xué)習(xí)研究。或用戶登錄云服務(wù)器,直接使用命令進(jìn)行連接,如云服務(wù)器公網(wǎng),然后輸入用戶的初始密碼,即可完成登錄。云服務(wù)器的端口,必須填。 前言 近期在準(zhǔn)備搭建一個(gè)vue.js+node.js全棧開發(fā)的社區(qū),之前由于沒有云服務(wù)器搭建經(jīng)驗(yàn),這篇文章做一下相關(guān)的記錄,后續(xù)再深入學(xué)習(xí)研究。本文不局...
閱讀 2583·2021-10-11 10:58
閱讀 1166·2021-09-29 09:34
閱讀 1527·2021-09-26 09:46
閱讀 3847·2021-09-22 15:31
閱讀 746·2019-08-30 15:54
閱讀 1470·2019-08-30 13:20
閱讀 1265·2019-08-30 13:13
閱讀 1497·2019-08-26 13:52