上篇ArcGIS API for JavaScript 4.x 離線配置之IIS法提到,如何用IIS配置ArcGIS jsAPI;
本篇則使用http下的Nginx配置,其原理基本一致。https的部署方法暫時沒有試驗。下篇使用Apache和Tomcat配置。
【環境說明】操作系統Windows10,Nginx版本1.14.2,瀏覽器Chrome 69,jsAPI版本4.10
1. 安裝Nginx(Windows)
Nginx不需要安裝,解壓即可使用。解壓到D盤根目錄后如圖:
如果點開nginx.exe,黑框閃過,在任務管理器看不到nginx.exe的進程,說明nginx默認端口——80端口被占用,到conf文件夾下找nginx.conf修改,我這里改為1570
(端口隨意,你開心就好,端口知識不再補充)
安裝完畢,瀏覽器輸入localhost:1570,打開沒問題:
在html目錄(即localhost:1570這台服務器下的默認站點文件夾)下創建如下一個名稱為myindex的html文檔以測試是否成功:
看起來沒問題。
2. 配置jsAPI
解壓jsAPI到html目錄下(與上篇相同的拖拽解壓法~):
從上一步得知
- http:\\localhost:1570 等價於 D:\nginx-1.14.2\
故
- [HOSTNAME_AND_PATH_TO_JSAPI] 等價於 localhost:1570/arcgis_js_v410_api/arcgis_js_api/library/4.10/
所以init.js和dojo.js的物理地址和網絡地址應為:
- init.js[物理]:D:\nginx-1.14.2\html\arcgis_js_v410_api\arcgis_js_api\library\4.10\init.js
- dojo.js[物理]:D:\nginx-1.14.2\html\arcgis_js_v410_api\arcgis_js_api\library\4.10\dojo\dojo.js
- init.js[網絡]:http://localhost:1570/arcgis_js_v410_api/arcgis_js_api/library/4.10/init.js
- dojo.js[網絡]:http://localhost:1570/arcgis_js_v410_api/arcgis_js_api/library/4.10/dojo/dojo.js
替換這兩個文件內的 [HOSTNAME_AND_PATH_TO_JSAPI] 字符串,操作如下圖所示:
若沒有開啟https,則需要把https改成http,如下圖:
測試通過。
3. Nginx配置文件conf\nginx.conf
這個屬於本人的補充知識(因為后端很菜——好吧都菜),懂的可以跳過。
和IIS一樣,也可以配置默認主頁/默認文檔,但是它是使用conf配置文件實現,現在如下修改:
然后重啟一下nginx
nginx -s reload
有時候這條命令不起作用,到任務管理器kill掉nginx進程,再重啟一下nginx即可。
ps:重啟nginx服務器時需要瀏覽器關閉狀態。
此時訪問http://localhost:1570如下圖所示:
完事(第四行// This is dojo.js 是我自己加的注釋,為了辨認是否是dojo.js或init.js)。
參考博客
Nginx Windows詳細安裝部署教程 -taiyonghai- https://www.cnblogs.com/taiyonghai/p/9402734.html
nginx配置文件nginx.conf超詳細講解 -隔壁老梁- https://www.cnblogs.com/liang-wei/p/5849771.html
Nginx + Https本地部署ArcGIS JavaScript API 4.4/4.5 -liuyl89- https://www.jianshu.com/p/24488c6fbc30