近期公司把網站遷移到了新的環境,windows service 2008 64 bit 和IIS 7,問題有點多,對系統使用影響不少,也困擾了我幾個星期,如今記錄一些主要的注意點html
1.組件權限web
系統使用了一個記錄日誌的com組件,還有一些老功能使用的是微軟的excel,word,visio組件。因爲組件權限致使功能不能使用。這裏建議後面直接用apose或者npoi等dll替換,問題真心不少,也很差用。windows
參考:win2008 R2 64位系統下配置DCOM權限安全
由於Dcomcnfg是一個32位和配置,在64系統下並不能被徹底支持
運行:mmc -32
然後會彈出一個程序,工菜單中選擇File->Add/Remove Snap
添加Component
Services,然後在Component Services下找到Excel後再進行配置,就和32位系統一樣的了;服務器
其它同樣的配置以下
2.對於風險源的導入功能。服務器要裝上Excel,並進行一系列的權限設置,以下:
1:在服務器上安裝office的Excel軟件.
2:在"開始"->"運行"中輸入dcomcnfg.exe啓動"組件服務"
3:依次雙擊"組件服務"->"計算機"->"個人電腦"->"DCOM配置"
4:在"DCOM配置"中找到"Microsoft
Excel 應用程序",在它上面點擊右鍵,而後點擊"屬性",彈出"Microsoft Excel 應用程序屬性"對話框
5:點擊"標識"標籤,選擇"啓動用戶" (備註:若是選擇"交互式用戶",則你必需登陸到系統,IIS 用戶纔有權限訪問EXCEL
COM)
6:點擊"安全"標籤,在"啓動和激活權限"上點擊"自定義",而後點擊對應的"編輯"按鈕,在彈出的"安全性"對話框中填加一個"NETWORK
SERVICE"用戶(注意要選擇本計算機名),並給它賦予"本地啓動"和"本地激活"權限.
7:依然是"安全"標籤,在"訪問權限"上點擊"自定義",而後點擊"編輯",在彈出的"安全性"對話框中也填加一個"NETWORK
SERVICE"用戶,而後賦予"本地訪問"權限. post
8:IIS裏面的應用程序池,也要將標識設置爲"NETWORK SERVICE"網站
9:將應用程序池裏面網站對應的程序集的運行用戶改成"NETWORK SERVICE"url
這樣,咱們便配置好了相應的Excel的DCOM權限.
注意:.net
一、我是在WIN2003上配置的,在2000上,是配置ASPNET用戶 線程
二、查看office的程序文件文件夾是否已經開放權限,如加入everyone
2.定時任務
遷移到IIS7 後發現定時任務(quartz)沒有按時執行,緣由是IIS7 按期進行回收網站,把定時任務進程殺了,能夠把網站設置爲不過時,可能會形成內存過大的問題,可是定時任務正常了 。後來發現定時任務會重複執行屢次,緣由是每次發佈網站或者網站更新,就會從新多出一個線程,致使屢次執行,咱們基本所有是郵件提醒,致使領導很不爽。方法是每次發佈須要手動回收應用池。原來的服務器並不會出現這些問題,目前對具體緣由仍是不太清楚...
參考: http://blog.csdn.net/rryqsh/article/details/8156558在IIS中找到這個站點所用的程序池,點擊「高級設置...」
在打開的列表中更改如下設置:
回收——固定時間間隔(分鐘) 改成 0
——虛擬/專用內存限制(KB) 改成 0
進程模型——閒置超時(分鐘) 改成 0
這樣子,通常狀況下程序池就不會被自動回收了,後臺一些簡單的計算線程就會正常工做
3.handlers
之前在<system.web> 配置的handlers,後來遷移後發現不執行了。查詢得知IIS 7須要放在</system.webServer>下..