HipChat的成果雷同于Campfire、Sazneo等在線協同東西,而且和Yammer以及Salesforce的Chatter等企業社交平臺有必然相似之處。你可覺得單個項目可能小組搭建自有的談天室,也可以很利便的提倡一對一談天。這套 IM 系統還整合了團隊文件打點和分享,拖拽就能完成生存操縱。
媒介
HipChat是Atlassian公司的一款團隊協作即時通訊東西,處事端為Linux(官方給的處事端就是一個虛擬機),在Windows、Linux、Android、IOS、Mac等平臺都有客戶端軟件,還可以直接在PC的Web上直接談天,對付團隊協作交換需求整理的較量到位,最主要的是HipChat可以和Confluence對接接頭主題(不是有Confluence的需求小我私家以為不如其他一些團隊通訊軟件)。
前些天接下了設置HipChat處事端的任務,可是利用了幾天后發明,談天時發送高出10M的文件就會報錯:
嗯,并且給了個明明是空話的報錯提示:在上傳文件的時候墮落了。
而官方文檔上寫的限制是50M。所以這里必定是有問題的。
這里先給出最終辦理要領:
1.登錄linux,利用下面呼吁取得root權限
sudo /bin/dont-blame-hipchat
2.編輯設置文件:
vi /etc/nginx/includes/web-site
3.在或許120行的位置找到如下代碼片斷,添加并修改client_max_body_size 1024m;(本來是10M)
# Coral requests
location /v2 {
# Allow larger requests for import
location ~ /v2/import/(.*) {
client_max_body_size 1024m;
rewrite ^/v2/(.*)$ /$1 break;
proxy_pass http://coral_servers;
}
# all other Coral calls
client_max_body_size 1024m;
rewrite ^/v2/(.*)$ /$1 break;
proxy_pass http://coral_servers;
}
4.執行重載參數文件呼吁:
/opt/nginx-1.4.2/sbin/nginx -s reload
假如修改完成后還不可可以試著修改該文件內其他client_max_body_size參數。
假如不可那么大概是官方版本變換導致某些文件位置變換,可以參考我后頭辦理問題的進程。
下面說明下我辦理問題的思路。
1.確定Web處事器范例
上傳文件的問題是在Windows桌面版本的Hipchat上發明的,不外因為與欣賞器會見的結果一致,我揣摩后頭必然是一個Web處事器,于是乎打開欣賞器試著在談天界面發送文件,公然是同樣的報錯,不外差異的是,我可以用現代欣賞器的調試東西查察下請求的報錯內容,于是看到:
點進去看到:
看到了nginx,沒打仗過nginx,不外此刻網絡資料一大把,很容易就可以找到其相關資料。
(注:我這里利用的是Chrome的開拓者東西)
2.查找并修改設置文件
網上很容易可以搜到nginx是署理,其設置文件中的client_max_body_size字段表白了最大上傳巨細。故此刻登錄處事器
1.登錄linux,利用下面呼吁取得root權限
sudo /bin/dont-blame-hipchat
2.用呼吁查找nginx的設置文件:
find / -name 'nginx.conf'
功效如下:
/opt/atlassian/hipchat/dependencies/source/nginx-1.4.2/conf/nginx.conf
/hipchat-scm/web/application/vendor/Elastica/test/nginx/nginx.conf
/etc/nginx/conf.d/nginx.conf
/etc/nginx/nginx.conf
/usr/local/src/nginx-1.4.2/conf/nginx.conf
3.編輯設置文件
vi /etc/nginx/nginx.conf
竄改后如下:
user www-data;
worker_processes 4;
daemon off;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 2048;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format custom '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" '
'"$http_x_forwarded_for" $http_x_forwarded_proto';
access_log /var/log/nginx/access.log custom;
server_tokens off;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
client_max_body_size 1024m;
gzip on;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_proxied any;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
proxy_buffers 8 16k;
proxy_buffer_size 16k;
server_names_hash_bucket_size 64;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
4.執行重載參數文件呼吁:
/opt/nginx-1.4.2/sbin/nginx -s reload