標籤:
項目需要連結一批靜態html做的小遊戲,所以需要把一堆靜態html部署到伺服器,就是一個檔案夾,裡面是遊戲html分頁檔夾,還有css,img等檔案夾,一個統一入口,就命名為game.html吧。本來打算直接放tomcat裡面。可以是在server.xml配個目錄直接存取啦,或者是Eclipse建個web工程然後把工程打包出來放到webapps目錄下,嗯,都簡單,可是問題來了。放上去,都是亂碼。工程和html頁面也都是UTF-8了,html的meta標籤也對charset設好了UTF8,但是亂碼依舊。搜尋了一下,在開機檔案,Catalina.sh裡面,對JAVA_OPT設定了encoding,JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8",依然沒用。
難道要把所有html都改成jsp,然後用<page>標籤的pageEncoding="UTF-8"來解決。也肯定不行,小遊戲是第三方提供的,人家整個新版本,要如何替換,還要慢慢比對。搜來搜去,也沒有好方法,tomcat中也有其他應用,改配置怕影響不說,老重啟簡直天怒人怨。看到網上說Apache分發靜態html頁面的效率比tomcat要高。好吧。果斷嘗試用Apache。
伺服器上已經有現成的Apache,只需增加配置。首先進去配置目錄(通常配置在檔案httpd.conf,也會在這個檔案中直接指向讀取某個檔案夾裡面的設定檔作為配置)。
/etc/httpd/conf.d
增加遊戲工程的設定檔youxi.conf,內容如下
Listen 80<VirtualHost *:80> DocumentRoot /usr/local/www/game/ ServerName www.xiaoyouxi.com</VirtualHost><Directory /usr/local/www/game/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all</Directory>## DirectoryIndex: sets the file that Apache will serve if a directory# is requested.#<IfModule dir_module>DirectoryIndex game.html</IfModule>
需要注意的是,工程所在連接埠,要Listen,可以先netstat -anp | grep 80看看連接埠是否被佔用。然後virtualHost和Directory配置好,主要都是連接埠,以及工程目錄。這裡工程目錄是/usr/local/www下,直接將遊戲的整個包放進去。
最後的IfModule配置的,這個事工程的預設訪問檔案。通過上面的目錄配置,訪問伺服器的80連接埠,就自動進入了目錄game,於是在game目錄下,放置一個統一入口檔案game.html,通過IfModule配置,進入目錄game預設訪問game.html。
於是瀏覽器輸入 伺服器網域名稱 www.xiaoyouxi.com,就會自動到game.html。完成,而且還沒有亂碼喔。
Apache部署靜態html工程