土耳其經歷最熱11月 專家:氣候變遷致極端氣溫

摘錄自2019年11月20日中央通訊社綜合報導

氣象預報顯示,土耳其冬季遲來,安卡拉和伊斯坦堡較正常氣溫高出攝氏2到5度。報導引述專家說,土耳其位處氣候變遷影響最嚴重地區之一,正經歷歷年來最熱的11月。

土耳其「國民日報」(Milliyet)19日引述土耳其氣象總局預報部主任烏恰爾(Ahmet Uçar)表示,氣溫將於12月首週才會開始下降,局部地區可望降雨。他說:「根據預測,未來一週沒有冬天的跡象,我們預期到12月氣溫才會下降並且會降雨。諸如安卡拉和伊斯坦堡會比季節的正常氣溫高攝氏2到5度。」

伊斯坦堡科技大學(Istanbul Technical University)氣象工程系教授申(Orhan Şen)指出,土耳其位處受到氣候變遷影響最嚴重地區之一。「現在正在發生的情況就是,11月已經開始出現極端氣溫,這就是為什麼冬天遲到了。11月出現這種高溫、15到20天沒有降雨,這是天然災害。根據氣象資料,這是土耳其第3次經歷當前這樣的歷來最熱11月。」

最近數月缺雨也影響水壩供水。官方數據指出,伊斯坦堡的水壩蓄水率已降為37.97%。其中在提供伊斯坦堡巿民飲水的10座水壩中,最高的蓄水率僅27.6%。

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

台北網頁設計公司這麼多該如何選擇?

※智慧手機時代的來臨,RWD網頁設計為架站首選

※評比南投搬家公司費用收費行情懶人包大公開

※幫你省時又省力,新北清潔一流服務好口碑

app自動化測試環境配置:adb環境配置、monkey環境配置、appium環境配置大全

1. 安裝jdk

安裝參考鏈接:https://www.cnblogs.com/erweimalaoshi/p/13204509.html

2. 安裝配置Andriod sdk

  安裝Andriod sdk前首先需要安裝配置好jdk環境。

  然後安裝Android sdk

  安裝完成后需要配置環境變量:ANDROID_HOME。

  (1)直接將Android sdk解壓到對應文件路徑下,比如我解壓到c盤根目錄andriod文件夾下

 

  (2)配置環境變量,系統變量裏面添加變量名 ANDROID_HOME 路徑為實際存放SDk的路徑

 

  (3)其他幾個路徑添加到系統環境變量Path中如下圖所示:

    第一個path

 

 

    第二個path

 

 

    第三個path

 

  (4)配置好后檢查一下

    在cmd中輸入adbaapt來判斷安裝是否成功

 

3.  模擬器的安裝夜神

  (1)默認快速安裝,安裝后打開夜神模擬器設置

 

  (2)還可以多開創建一個新的模擬器

 

4.  元素獲取工具-UIAutomator

  (1)進入Android sdk安裝目錄,找到tools文件夾,找到uiautomatorviewer.bat點擊運行,使用它獲取元素

  (2)首先,檢查手機設備是否連接了電腦,在手機設置開發者選項中勾選usb調試,如果沒有開發者選項,在關於平板中連續點擊7次就可以彈出來

  (3)在手機中打開要獲取元素的app

  (4)點擊UIAutomator中的按鈕

  (5)然後可以獲取app元素的信息。這個是1.0版本,2.0版本是集成在appium中的

5.  啟用adb調試

  adb ( Android Debug Bridge)是一個通用命令行工具,它允許你與模擬器實例或連接的 Android 設備進行通信。它可為各種設備操作提供便利,如安裝和調試應用。

  在 android_sdk/platform-tools/ 中找到 adb 工具,然後根據其具體的路徑配置好環境變量(環境變量在2中已經配置過)。然後啟動cmd 輸入‘adb’即可查看是否配置成功。

6. Appium環境搭建

  請安裝新版本node.js

  node.js安裝

  下載地址:https://nodejs.org/en/download/releases/

  注意:Node.js版本要注意與Appium兼容,Appium版本是1.13.0,則選擇的Node.js版本為12.11.1

  默認下一步安裝

  雙擊安裝包

 

  安裝好后通過cmd去查看是否安裝成功,用node -v 查看版本,如果提示不是內部命令,可能是環境變量錯誤或者用管理員身份運行

  查看包管理工具,用命令npm -v相當於python中的pip

Appium的安裝

  Appium Server其實可以通過命令 npm install -g appium來安裝。不過由於眾所周知的網絡原因,直接使用這樣安裝會非常非常慢,甚至會安裝失敗,所以我們可以使用國內鏡像來安裝。

  選用的鏡像是 淘寶NPM鏡像https://npm.taobao.org

鏡像設置

  npm install -g cnpm –registry=https://registry.npm.taobao.org

  執行完成命令看到如下提示則表示設置完成

  鏡像設置好后,就可以進行appium的安裝了

  #安裝最新版本

  cnpm install -g appium

  #安裝指定版本

  cnpm install appium@1.13.0 -g

  檢查是否安裝成功,在控制台輸入命令 appium即可啟動appium服務,appium -v查看版本

  如果輸入appium后显示:“appium不是內部或外部命令,也不是可運行的程序或批處理文件” 可以將appium安裝的路徑 如: “C:\Users\m1877\AppData\Roaming\npm”配置到系統環境變量Path中

安裝Appium-desktop

  下載地址:https://github.com/appium/appium-desktop/releases

  Appium-desktop工具其實封裝了Appium server和Node.js依賴環境。

  appium-desktop是初學者最容易上手的工具

7.python環境安裝配置

  安裝成功之後輸入命令 python –version看到如下提示即可

 

8.安裝Appium-Python-Client

  安裝此項的前提是python安裝好,並且pip安裝好

  通過命令: pip.exe install Appium-Python-Client 進行安裝。

 

  安裝后可以通過如下命令來檢測是否安裝成功。

  輸入命令from appium import webdriver” 回車,如果控制台沒有報錯,則說明安裝成功。

  如果出現如下報錯,則說明安裝失敗

  ImportError: No module named ‘appium’

  ImportError: cannot import name “webdriver”

  說明:裝Appium-Python-Client安裝后的路徑一般為:

  {Python 安裝路徑}\Lib\site-packages\appium

9.安裝 appium-doctor

  appium-doctor可以檢測Appium整體依賴環境配置情況。

  先安裝工具C:\Users\m1877>cnpm install appium-doctor -g

   在控制台輸入命令:appium-doctor 看到如下提示說明整體環境配置成功。

  如果上面某一項显示為“X”則說明相關環境沒有配置好,需要重新安裝配置。

  如果都是√表示appium環境安裝配置已經好了。

附加:(以下工具可安裝也可以不安裝,自行選擇)

 opencv4nodejs安裝

  為什麼要安裝這個,請參考:https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/image-comparison.md

  首先先裝好git。

  安裝opencv4nodejs:cnpm i -g opencv4nodejs

 ffmpeg安裝

  在官網下載好

  直接解壓到目錄中,然後通過bin目錄配置環境變量

  配置好后cmd中,輸入ffmpeg -version驗證是否安裝成功

mjpeg-consumer安裝

  cnpm i -g mjpeg-consumer

bundletool.jar安裝

  下載地址:https://github.com/google/bundletool/releases/tag/0.9.0

  http://appium.io/docs/en/writing-running-appium/android/android-appbundle/

 

出處:https://home.cnblogs.com/u/erweimalaoshi/
歡迎轉載,但未經作者同意請保留此段聲明,並在文章頁面明顯位置給出原文鏈接。

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※帶您來了解什麼是 USB CONNECTOR  ?

※自行創業 缺乏曝光? 下一步"網站設計"幫您第一時間規劃公司的門面形象

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

※廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

※教你寫出一流的銷售文案?

Electron: 如何以 Vue.js, Vuetify 開始應用

  • Electron: 使用 JavaScript, HTML 和 CSS 等 Web 技術創建原生程序的框架
  • Vue.js: Web 前端用於構建用戶界面的漸進式框架
  • Vuetify: Vue.js 的 Material Design 組件框架

看完以上介紹,也明白了本文要做的事:用 Vue.js 與 Vuetify 組件,基於 Electron 來創建原生桌面應用。

  • 環境準備
    • Visual Studio Code
    • Node.js
    • Yarn
    • Vue CLI
  • 創建 Vue.js 應用
  • 添加 Vuetify 組件
  • 添加 Electron 構建
  • 發布 Electron 應用
  • 參考
  • 結語

環境準備

Visual Studio Code

建議使用的 VS Code 編輯代碼,下載地址: https://code.visualstudio.com/ 。

同時可安裝如下些擴展:

  • ESLint: 代碼檢查
  • Prettier – Code formatter: 代碼格式化
  • Vetur: Vue 代碼工具
  • Vue 2 Snippets: Vue 代碼提示(可選)

查看 VS Code 版本:

$ code -v
1.46.1
cd9ea6488829f560dc949a8b2fb789f3cdc05f5d
x64

Node.js

Node.js 開發環境,下載地址: https://nodejs.org/en/download/ 。

建議選擇 Latest LTS Version ,因為 Electron v9 仍舊使用的 Node.js v12 。

查看 Node, NPM 版本:

$ node -v
v12.18.1

$ npm -v
6.14.5

Yarn

Yarn 包管理工具,相比 NPM 而言: Fast, Reliable, Secure 。

GitHub: https://github.com/yarnpkg/yarn

全局安裝 Yarn :

npm config set registry https://registry.npm.taobao.org
npm install -g yarn

查看 Yarn 版本:

$ yarn -v
1.22.4

Vue CLI

Vue CLI 是 Vue.js 開發的標準工具。

GitHub: https://github.com/vuejs/vue-cli

全局安裝 Vue CLI :

yarn global add @vue/cli

查看 Vue CLI 版本:

$ vue -V
@vue/cli 4.4.6

創建 Vue.js 應用

vue create my-app

跟隨引導進行工程配置,如下:

Vue CLI v4.4.6
? Please pick a preset: Manually select features
? Check the features needed for your project: Babel, TS, Router, Vuex, Linter
? Use class-style component syntax? Yes
? Use Babel alongside TypeScript (required for modern mode, auto-detected polyfills, transpiling JSX)? Yes
? Use history mode for router? (Requires proper server setup for index fallback in production) Yes
? Pick a linter / formatter config: Prettier
? Pick additional lint features: Lint on save
? Where do you prefer placing config for Babel, ESLint, etc.? In dedicated config files
? Save this as a preset for future projects? No
? Pick the package manager to use when installing dependencies: Yarn

~/.vuerc 會保存一些可復用的 preset :

$ cat ~/.vuerc
{
  "useTaobaoRegistry": true,
  "packageManager": "yarn"
}

運行應用:

cd my-app
yarn serve

瀏覽器打開 http://localhost:8080/

添加 Vuetify 組件

Vuetify 是 Vue.js 的 Material Design 組件庫。也可以換用其他的,如 Element 等。

GitHub: https://github.com/vuetifyjs/vuetify

添加 Vuetify :

cd my-app
vue add vuetify

preset 選擇 Default

? Choose a preset: Default (recommended)

添加完成后,編輯下 tsconfig.json

{
  "compilerOptions": {
    ...
    "types": [
-      "webpack-env"
+      "webpack-env",
+      "vuetify"
    ],
    ...
  },
  ...
}

運行應用:

yarn serve

瀏覽器打開 http://localhost:8080/

編輯 tsconfig.json 是為了修正如下錯誤

ERROR in /Users/John/Codes/ikuokuo/start-electron/my-app/src/plugins/vuetify.ts(2,21):
2:21 Could not find a declaration file for module 'vuetify/lib'. '/Users/John/Codes/ikuokuo/start-electron/my-app/node_modules/vuetify/lib/index.js' implicitly has an 'any' type.
  Try `npm install @types/vuetify` if it exists or add a new declaration (.d.ts) file containing `declare module 'vuetify/lib';`
    1 | import Vue from "vue";
  > 2 | import Vuetify from "vuetify/lib";
      |                     ^
    3 |
    4 | Vue.use(Vuetify);
    5 |

添加 Electron 構建

如果你可以建一個網站,你就可以建一個桌面應用程序。 Electron 負責將 Web 構建成原生桌面應用。

而將 Vue.js 應用構建成 Electron 應用,現在用 Vue CLI Plugin Electron Builder 即可。

首先,指明下 node 版本:

yarn add @types/node@12 --dev

之後,添加 Electron Builder :

cd my-app
vue add electron-builder

Electron 版本選擇 9.0.0

? Choose Electron Version ^9.0.0

添加完成后,編輯下 src/router/index.ts

...
const router = new VueRouter({
-  mode: "history",
+  mode: process.env.IS_ELECTRON ? "hash" : "history",
  base: process.env.BASE_URL,
  routes
});

export default router;

運行應用:

yarn electron:serve

現在是桌面窗口了:

命令定義在了 package.json

{
  ...
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint",
    "electron:build": "vue-cli-service electron:build",
    "electron:serve": "vue-cli-service electron:serve",
    "postinstall": "electron-builder install-app-deps",
    "postuninstall": "electron-builder install-app-deps"
  },
  ...
}

yarn 執行即可,如下:

$ yarn lint
yarn run v1.22.4
$ vue-cli-service lint
 DONE  No lint errors found!
  Done in 3.17s.

yarn add @types/node@12 --dev 是為了修正如下錯誤

ERROR in /Users/John/Codes/ikuokuo/start-electron/my-app/node_modules/electron/electron.d.ts(1659,31):
1659:31 Cannot extend an interface 'NodeJS.EventEmitter'. Did you mean 'implements'?
...

編輯 src/router/index.ts 是為了修正如下警告

 WARN  It is detected that you are using Vue Router. If you are using history mode, you must push the default route when the root component is loaded. Learn more at https://goo.gl/GM1xZG .

發布 Electron 應用

Vue 應用了 Electron Builder 插件,所以直接用此工具即可。

GitHub: https://github.com/electron-userland/electron-builder

yarn electron:build 編譯發布:

# 淘寶鏡像,國內下載 Electron 更快
export ELECTRON_MIRROR="https://cdn.npm.taobao.org/dist/electron/"

# macOS 下禁用簽名。若要簽名,見最後參考
export CSC_IDENTITY_AUTO_DISCOVERY=false

cd my-app
yarn electron:build

dist_electron/ 下即是發布內容。

例如 macOS 可見打包好的 dmg

雙擊 dmg 試用或安裝:

若要修改發布格式或內容,見 Electron Builder 文檔: https://www.electron.build/ 。

export CSC_IDENTITY_AUTO_DISCOVERY=false 是為了避免如下錯誤

...
  • signing         file=dist_electron/mac/my-app.app identityName=gdb_codesign identityHash=BC899AF362F80B3FDB39F966A1601E2AFAFA100B provisioningProfile=none
(node:10223) UnhandledPromiseRejectionWarning: Error: Command failed: codesign --sign BC899AF362F80B3FDB39F966A1601E2AFAFA100B --force --timestamp --options runtime --entitlements /Users/John/Workspace/Codes/start-electron/my-app/node_modules/app-builder-lib/templates/entitlements.mac.plist /Users/John/Workspace/Codes/start-electron/my-app/dist_electron/mac/my-app.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Helpers/chrome_crashpad_handler
error: The specified item could not be found in the keychain.
...
(node:10223) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:10223) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

參考

  • electron-app
  • start-electron
  • Electron
    • Application Distribution
  • Electron Builder
    • Code Signing
    • Notarize app for macOS

結語

Go coding!

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※為什麼 USB CONNECTOR 是電子產業重要的元件?

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想要讓你的商品成為最夯、最多人討論的話題?網頁設計公司讓你強力曝光

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

新北清潔公司,居家、辦公、裝潢細清專業服務

nginx web服務器概念了解 配置

服務器

服務器

服務器是一種提供高效計算的機器,與普通的PC主機相比,具有可觀的穩定性,高併發性,可擴展性。

互聯網任何一個應用都是以服務器為基礎設施的,沒有服務器我們就無法訪問網絡上的任何內容,只能使用單機的應用。例如網站,我們訪問的任何一個網站都是保存在某個服務器上的,域名被DNS(域名解析服務器)解析到IP地址后,瀏覽器就能通過IP地址訪問對應的服務器資源了。

就好比:服務器是人的家,人名相當於域名(不可重名),身份證號相當於IP地址。通過人名搜索到身份證號,通過身份證號獲取到家的地址。

Web服務器

Web服務器不再是一種硬件設施,而是一種部署在服務器上的軟件應用,它服務於各種網絡請求,將網絡請求進行處理,分發。

所以Web服務器的處理能力很大程度決定了該網站的併發能力。著名的Web服務器有:Apache Nginx

Web應用服務器

Web應用服務器是專門處理邏輯代碼的服務器,同時還具有了處理網絡請求的能力,一般為了提高併發能力,會在Web應用服務器上套一層Web服務器。

例如:Tomcat uwsgi gunicorn,后兩個是Python的Web應用服務器,專門處理Python的邏輯代碼。

聯繫

其中Web服務器和Web應用服務器都部署在服務器上。

Nginx服務器

Nginx (engine x) 是一個高性能的HTTP和反向代理web服務器,同時也提供了IMAP/POP3/SMTP服務。其主要特點如下:

  • 輕量級 併發能力強
  • 支持處理靜態資源,以減少應用服務器的壓力
  • 負載均衡

負載均衡

大型的網站應用網站應用往往是由無數個服務器服務的,就像淘寶這種,單靠一個是不可能承受的了如此大的併發量,因此有了負載均衡。負載均衡又分為硬負載均衡軟負載均衡,硬負載均衡是通過硬件的方式實現負載均衡,比如F5,成本都比較昂貴,軟負載均衡則是通過軟件的方式實現,比如Nginx和Apache。

所謂負載均衡就是將多個請求分發到不同的服務器上去,每個服務器都有處理請求和邏輯的應用服務器,以此來提高併發量。

下面使用Nginx來實現負載均衡配置

配置Nginx需要到/etc/nginx/nginx.conf文件內進行編輯

http {
##http的配置

server {
        listen 80;//監聽端口
        server_name 域名;
        location / {
            proxy_pass http://lca;
        }
    }
 upstream lca {//採用輪詢方式,依次將請求轉發到各個服務器
        server  192.168.1.1:5000;
        server  192.168.1.2:5000;
        server  192.168.1.3:5000;
    }
}

上面是採用輪詢的方式實現端口轉發 負載均衡,還有幾種方式實現:

  • 權重方式:指定每個服務的權重比例,weight和訪問比率成正比,通常用於後端服務機器性能不統一,將性能好的分配權重高來發揮服務器最大性能.
 upstream lca {
        server  192.168.1.1:5000 weight=1;
        server  192.168.1.2:5000 weight=2;
        server  192.168.1.3:5000 weight=3;
    }
  • iphash
    每個請求都根據訪問ip的hash結果分配,經過這樣的處理,每個用戶固定訪問一個後端服務。
 upstream lca {//權重與iphash結合
        ip_hash
        server  192.168.1.1:5000 weight=1;
        server  192.168.1.2:5000 weight=2;
        server  192.168.1.3:5000 weight=3;
    }

解決跨域問題

跨域請求問題

為了提高瀏覽器的安全性,引入了跨域限制,也就是同源策略。

所謂源:如果兩個頁面(接口)的協議,端口或者域名都相同,那麼兩個頁面就有相同的源。如果在同一個頁面訪問不同源的資源,則會出現500錯誤。

  • 瀏覽器從一個域名的網頁去請求另一個域名的資源時,域名、端口、協議任一不同,都是跨域
  • 跨域限制主要是為了安全考慮

前端在請求後端資源時,往往會出現錯誤代碼500的情況。

nginx解決跨域問題

解決跨域問題的方式有很多,在這裏介紹通過nginx來解決跨域問題。

上面說到客戶端瀏覽器同時請求服務器的不同資源若不是同源就會引發同源策略問題,那要是服務器請求服務器呢?那麼照這個思路就想到了nginx的反向代理。
我們可以使用nginx的反向代理,將不同源的服務器集中到一個nginx web服務器下,也就是通過nginx來反向代理各個服務器。

server
{
 listen 80;
 server_name cola666.top;
// =/ 表示精確匹配路徑為/的url,真實訪問為http://localhost:8000
 location = / {
 proxy_pass http://localhost:8000;
 }
//當匹配到/a的url自動去localhost:8000
location /a{
 proxy_pass http://localhost:8001;
 }
 location /baidu/ {
 proxy_pass http://www.baidu.com/;
 }
}
  • 當有請求www.cola666.top的資源時,服務器接收到,會自動將請求內容交給localhost:8000web服務器處理。
  • 當有請求www.cola666.top/a下的資源時,服務器接收到,會自動將請求內容交給localhost:8001web服務器處理。
  • 當有請求www.cola666.top/baidu/下的資源時,服務器接收到,會請求百度的服務器資源。

雖然請求同源url,但實際上nginx幫助我們轉發到其他web服務器,所以實際上訪問的是非同源url資源,以實現跨域問題

location匹配規則
  • 當一個url匹配到多個location時,nginx將請求轉發給匹配最長的location來處理
  • 代理
 location /b/ {
 proxy_pass http://www.baidu.com/;
 }

 location /b/ {
 proxy_pass http://www.baidu.com;
 }

二者的區別為後者會將location中的/b/也添加進url中,比如,後者則代理到http://www.baidu.com/b/xxx,前者則是http:///www.baidu.com/xxx

下面為一個比較簡易的完整的nginx配置

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65; 
    server {
        listen       80;
        location / {
         proxy_pass http://localhost:8080;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

最後附加一個全面的nginx配置,包括靜態資源緩存,負載均衡,Https,等等

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
		#自定義的日誌格式
		log_format  main  '[($remote_addr) - ($remote_user [$time_local]) $request" '
		'($status) '
		'($http_user_agent)($http_x_forwarded_for)'
		'($upstream_addr) ($upstream_response_time) ($request_time) ]';

		proxy_cache_path /data/nginx/tmp-test levels=1:2 keys_zone=tmp-test:100m inactive=7d max_size=10g;

		access_log  /var/log/nginx/access.log  main;

		gzip  on;
		gzip_min_length 1k;
		gzip_buffers    16 64k;
		gzip_http_version 1.1;
		gzip_comp_level 4;
		gzip_types  text/plain application/javascript application/x-javascript text/javascript text/xml text/css;
		gzip_vary on;
		sendfile            on;
		tcp_nopush          on;
		tcp_nodelay         on;
		keepalive_timeout   65;
		types_hash_max_size 2048;
		include             /etc/nginx/mime.types;
		default_type        application/octet-stream;

		include /etc/nginx/conf.d/*.conf;

		#allow to access by the same origin
		add_header 'Access-Control-Allow-Origin' '*';
		add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
		add_header 'Access-Control-Allow-Credentials' 'true';

	upstream zzm {
		server localhost:8000;
		#server locahost:8001;
	}

	server {
		listen       80 default_server;
		listen       [::]:80 default_server;
		server_name  _;
		root         /usr/share/nginx/html;

		# Load configuration files for the default server block.
		include /etc/nginx/default.d/*.conf;

		location /static{
			alias /var/static;
		}

		location /{
			proxy_cache tmp-test;
			proxy_cache_key $uri;
			add_header Access-Control-Allow-Origin *;
			add_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept";
			add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";
			#include uwsgi_params;
			proxy_pass http://zzm;

			# if django be used socket model to start up,using uwsgi of the following
			#uwsgi_pass 127.0.0.1:8000;
			#uwsgi_read_timeout 180;

			proxy_redirect off;
			proxy_set_header        Host    $host;
			proxy_set_header        REMOTE_ADDR     $remote_addr;
			proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

			real_ip_recursive on;
		}

		error_page 404 /404.html;
			location = /40x.html {
		}

		error_page 500 502 503 504 /50x.html;

		location = /50x.html {

		}
	}


	#配置https
	server {
		listen       443 ssl http2 default_server;
		listen       [::]:443 ssl http2 default_server;
		server_name  cola666.top;
		root         /usr/share/nginx/html;

		ssl_certificate  /var/xxx.pem;#ssl兩個證書路徑
		ssl_certificate_key /var/xxx.key;
		ssl_session_cache shared:SSL:1m;
		ssl_session_timeout  10m;
		ssl_ciphers HIGH:!aNULL:!MD5;
		ssl_prefer_server_ciphers on;

		# Load configuration files for the default server block.
		include /etc/nginx/default.d/*.conf;

		#靜態資源路徑
		location /static{
			alias /var/static;
		}

		location / {
			#緩存路徑
			proxy_cache tmp-test;
			proxy_cache_key $uri;

			add_header Access-Control-Allow-Origin *;
			add_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept";
			add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";
			#include uwsgi_params;
			#uwsgi_pass 127.0.0.1:8000;
			proxy_pass http://zzm;
			proxy_redirect off;
			#將客戶端ip地址交給服務器後端
			proxy_set_header        Host    $host;
			proxy_set_header        REMOTE_ADDR     $remote_addr;
			proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
			real_ip_recursive on;
		}

		error_page 404 /404.html;
			location = /40x.html {
		}
		error_page 500 502 503 504 /50x.html;
			location = /50x.html {
		}
	}
}
```![](https://img2020.cnblogs.com/blog/1624549/202006/1624549-20200628205157078-48009301.png)

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

※評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

※評比南投搬家公司費用收費行情懶人包大公開

※幫你省時又省力,新北清潔一流服務好口碑

復育有望!首隻體外受精孵化的波多黎克鳳頭蟾蜍

摘錄自2019年11月25日自由時報德克薩斯州報導

美國研究人員多次嘗試復育瀕臨絕種的波多黎各鳳頭蟾蜍(Puerto Rican crested toad),日前沃思堡動物園(Fort Worth Zoo,Texas)利用從野外收集的冷凍精液通過體外受精首次成功地孵化了一隻蟾蜍。這次的成功也為全球僅存2400隻的波多黎各鳳頭蟾蜍復育計畫帶來一絲希望。

首隻由體外受精出生的蟾蜍雪寶(Olaf)。德州沃思堡動物園的外溫動物館長巴柏(Diane Barber)表示,園方通常不會為蟾蜍取名,但在經歷了多次的失敗後,雪寶的出生成為一個值得紀念的時刻。這隻蟾蜍是命名自冰雪奇緣(Frozen)中的角色雪寶,以紀念他來自冷凍精子。

波多黎各自然資源部(Department of Natural Resources)臨時秘書奧特羅(Armando Otero)表示,對於瀕臨滅絕的物種而言,這是一個重大進步,因為這項計畫將允許動物園、研究人員和其他保育人員擴大其遺傳種群,以增加總種群,同時又將蟾蜍留在其野生棲息地。

自2006年以來,沃斯堡動物園研究人員,配合執行波多黎各鳳頭蟾蜍保護計劃。 通過這項合作計劃,預計將300隻體外受精的蟾蜍,其中100隻透過圈養繁殖計劃送往其他動物園,其餘200頭蟾蜍將在12月通過聯邦快遞送往波多黎各以釋放到野外。

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※帶您來了解什麼是 USB CONNECTOR  ?

※自行創業 缺乏曝光? 下一步"網站設計"幫您第一時間規劃公司的門面形象

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

※廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

※教你寫出一流的銷售文案?

教宗東京彌撒 向使節演說談地球暖化

摘錄自2019年11月26日中央通訊社東京報導

教宗方濟各26日上午拜會日皇德仁,下午在東京巨蛋望彌撒,約5萬人參加。晚上到首相官邸(行政中心)與首相安倍晉三會談,之後出席與各國駐日使節的交流會並發表演說。

這是82歲的方濟各從2013年就任以來首度訪問日本,也是天主教教宗時隔38年訪日。

教廷派使節駐日今年是100週年,教廷希望能與日本加強邦誼,同時在裁軍、氣候變遷等國際課題上加強合作。方濟各與安倍在交流會上表示,日本與教廷在歷史上有許多交流機會,透過文化交流、外交使節往來,雙方關係深化,克服了很大的困難和緊張。

教宗也談到地球暖化的課題,表示地球不僅有大自然的災害,也受人類的手貪婪地榨取。世人不該把地球當成榨取之物,而是要把地球當成是要傳承給下一代的寶貴遺產。

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※為什麼 USB CONNECTOR 是電子產業重要的元件?

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想要讓你的商品成為最夯、最多人討論的話題?網頁設計公司讓你強力曝光

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

新北清潔公司,居家、辦公、裝潢細清專業服務

丹麥政府擬減少氮排放量抗暖化 引發農業界反彈

摘錄自2019年11月26日中央通訊社報導

丹麥今天(26日)宣佈一項加速對抗溫室氣體的計劃,目標鎖定農業所排放的氮,但這項決定受到農業界的批評。環境食品部發布聲明表示,針對氮排放所定的新規則,目標為「確保在2020年前能減少3500公噸」的排放量。這比前任政府承諾的時間提早了一年。

此措施是更為廣泛的政府計劃中的一環,相關計劃預計在2030年前將溫室氣體排放量減少70%。

丹麥估計每年因農業排放的氮介於4萬8000到5萬4000公噸之間。全國農業聯盟表示,減少氮排放量是不可能的任務。全國農業聯盟的領導人默里德(Martin Merrild)表示:「這麼做的結果勢必非常昂貴,而且需要大量的勞動力。」

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

※評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

※評比南投搬家公司費用收費行情懶人包大公開

※幫你省時又省力,新北清潔一流服務好口碑

奧迪拚轉型電動車 六年內裁員9500人

摘錄自2019年11月26日聯合新聞網報導

德國車廠奧迪(Audi)今(26日)宣布,計劃在2025年底前裁減9500個職位。這項行動包括在奧迪的大規模企業重組計畫內,目標在2029年底前省下數十億歐元成本。

屬於德國福斯汽車集團(Volkswagen Group)的奧迪,正在進行昂貴且痛苦的企業轉型,由發展內燃機引擎動力車轉向發展電動車。

奧迪表示,將透過優退方案和自然人力更替達成裁員目標,但同時也會在電動車和數位化領域繼續雇用新人。減少人力的行動將讓奧迪「在德國的兩座工廠產能最佳化」。

奧迪還說:「因此產生的60億歐元(約新台幣2018億元)經費,將確保達成公司策略鎖定的9%-11%報酬率區間,並投入電動化和數位化等未來計畫。」

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※帶您來了解什麼是 USB CONNECTOR  ?

※自行創業 缺乏曝光? 下一步"網站設計"幫您第一時間規劃公司的門面形象

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

※廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

※教你寫出一流的銷售文案?

聯合國:2020起 每年需減碳7.6%才有機會避免氣候危機

環境資訊中心綜合外電;姜唯 編譯;林大利 審校

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※為什麼 USB CONNECTOR 是電子產業重要的元件?

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想要讓你的商品成為最夯、最多人討論的話題?網頁設計公司讓你強力曝光

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

新北清潔公司,居家、辦公、裝潢細清專業服務

泰國10歲公鹿國家公園內暴斃!胃袋被「7kg塑膠袋」塞爆 巡邏員心都碎了

摘錄自2019年11月28日ETtoday新聞雲報導

泰國坤沙坦國家公園(Khun Sathan National Park)巡邏員,近日在園內發現一頭10歲大野生公鹿陳屍林中,身上卻沒有明顯外傷。經檢查後發現,這頭鹿生前吞下約7公斤重的塑膠垃圾,導致牠喪命。

根據英國廣播公司(BBC)泰語頻道報導,巡邏員11月25日在泰國北部楠府(Nan Province)納內縣(Na Noi)的國家公園內發現這頭鹿的屍體,並在牠的胃部發現塑膠袋、塑膠繩、橡膠手套、即溶咖啡包裝袋、泡麵包裝袋、毛巾、內褲等塑膠或其他垃圾。

坤沙坦國家公園野生動植物保護部門主任克利安薩(Kriangsak Thanompun)說,「我們認為,這頭公鹿在死亡前,早已長期誤食塑膠垃圾。官方初步認為是塑膠袋堵住牠的消化道,但我們仍會進一步詳細調查。」

消息傳開後在社群網站上引起熱議,網友紛紛批評部分隨意棄置垃圾的遊客。其中一名網友說,「有點責任感,把自己的垃圾帶走」;另一名網友則說,「這是從小就必須教育和養成的,否則成年後習慣就很難改變了。」

克利安薩則說,當局將會制定一項「三階段計畫」,目的是鼓勵當地居民主動清理國家公園內的塑膠或其他垃圾。該計畫包括要建立一個專責管理廢棄物的委員會,最終目標則是教育大眾不要隨意棄置垃圾。

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

※評比前十大台北網頁設計台北網站設計公司知名案例作品心得分享

※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

※評比南投搬家公司費用收費行情懶人包大公開

※幫你省時又省力,新北清潔一流服務好口碑