nginx+tomcat 配置文件

本贴最后更新于 3146 天前,其中的信息可能已经时移世易

nginx.conf

user nginx;
pid /var/run/nginx.pid;

worker_processes 8;
worker_rlimit_nofile 102400;
events {
use epoll;
worker_connections 102400;
}

http {

passenger_root /usr/local/rvm/gems/ruby-1.9.3-p551/gems/passenger-5.0.20;

passenger_ruby /usr/local/rvm/gems/ruby-1.9.3-p551/bin/ruby;

include mime.types; charset utf-8; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '"$status" $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" ' '"$gzip_ratio" $request_time $bytes_sent $request_length';

log_format srcache_log 'remote_user [request" '

'"body_bytes_sent bytes_sent $request_length '

'"[srcache_fetch_status] [srcache_expire]';

set_real_ip_from 10.0.0.0/8; real_ip_header X-Forwarded-For; add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Headers X-Requested-With; add_header Access-Control-Allow-Methods GET,POST,OPTIONS; include /etc/nginx/gzip.conf; include /etc/nginx/proxy.conf; server_names_hash_max_size 512; server_names_hash_bucket_size 128; sendfile on; fastcgi_intercept_errors on; keepalive_timeout 650; include /etc/nginx/vhosts/*.conf; include /etc/nginx/vhosts/stock/*.conf; include /etc/nginx/vhosts/cyw/*.conf; include /etc/nginx/vhosts/baye8/*.conf; include /etc/nginx/vhosts/60/*.conf; server { listen 80; server_name localhost; root /usr/share/nginx/html; location / { index index.html index.htm index.php; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } location ~ \.php { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~/\.ht { deny all; } }

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

}

proxy.conf

#!nginx (-)
# proxy.conf
fastcgi_buffers 32 8k;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 1024m;
client_body_buffer_size 128k;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
proxy_temp_path /tmp/nginx/temp;
proxy_cache_path /tmp/nginx/cache levels=1:2 keys_zone=cache_zone:2048M inactive=1d max_size=20g;
proxy_headers_hash_max_size 512000;
proxy_headers_hash_bucket_size 64000;

gzip.conf

gzip on;
# gzip_http_version 1.1;
gzip_disable "MSIE [1-6]\.";
#gzip_disable "Mozilla/4";
gzip_static on;
gzip_comp_level 4;
gzip_proxied any;
gzip_vary on;
gzip_buffers 4 16k;
gzip_min_length 1100;
gzip_types text/plain text/xml text/css application/xml application/xhtml+xml application/rss+xml application/atom_xml application/javascript application/x-javascript;

vhosts.conf

upstream mall-cms.messandbox.com {
	server 127.0.0.1:7791;
}

upstream mall-info.messandbox.com {
server 127.0.0.1:7791;
}

upstream mall-my.messandbox.com {
server 127.0.0.1:7791;
}

upstream mall-search.messandbox.com {
server 127.0.0.1:7791;
}

upstream mall-pay.messandbox.com {
server 127.0.0.1:7791;
}

upstream mall-sc.messandbox.com {
server 127.0.0.1:7791;
}

upstream mall-open.messandbox.com {
server 127.0.0.1:7791;
}

upstream mall-common.messandbox.com {
server 127.0.0.1:7791;
}

upstream mall-cs.messandbox.com {
server 127.0.0.1:7791;
}

upstream mall-c.messandbox.com {
server 127.0.0.1:7791;
}

#server {

listen 80;

server_name www.ecec.com;

#access_log /data/logs/b2c2c/access.log main;

location / {

root /data/zte/www/html/ecec;

index index/index.html index/index.htm;

}

#}

server {
listen 80;
server_name mall-ad.messandbox.com;

proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { root /data/zte/www/cms/systemCode/publish/www/advert; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; }

}

server {
listen 80;
server_name mall-so.messandbox.com;
charset utf-8;

#access_log /data/logs/b2c2c/access_b_so.log main; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { root /data/zte/www/static/ecoeco; index index.html index.htm; }

}

server {
listen 80;
server_name mall-se.messandbox.com;

#access_log /data/logs/b2c2c/access_b_se.log main; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { root /data/zte/www/static/ecec; index index.html index.htm; }

}

server {
listen 80;
server_name mall-img.messandbox.com;

#access_log /data/logs/b2c2c/access_b_img.log main; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { root /data/zte/www/img; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; }

}

server {
listen 80;
server_name mall-oimg.messandbox.com;

#access_log /data/logs/b2c2c/access_b_img.log main; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { root /data/zte/www/img-bak; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; }

}

server {
listen 80;
server_name mall-my.messandbox.com;

#access_log /data/logs/b2c2c/access_b_my.log main; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass http://mall-my.messandbox.com; }

}

server {
listen 80;
server_name mall-pay.messandbox.com;

#access_log /data/logs/b2c2c/access_b_pay.log main; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass http://mall-pay.messandbox.com; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; }

}

server {
listen 80;
server_name mall-search.messandbox.com;

#access_log /data/logs/b2c2c/access_b_search.log main; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass http://mall-search.messandbox.com; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; }

}

server {
listen 80;
server_name mall-info.messandbox.com;

#access_log /data/logs/b2c2c/access_b_info.log main; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass http://mall-info.messandbox.com; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; }

}

server {
listen 80;
server_name mall-sc.messandbox.com;

#access_log /data/logs/b2c2c/access_b_sc.log main; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass http://mall-sc.messandbox.com; }

}

server {
listen 80;
server_name mall-open.messandbox.com;

#access_log /data/logs/b2c2c/access_b_open.log main; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass http://mall-open.messandbox.com; } location ~/sindex { root /data/zte/www/html/b2c2c; index sindex.html; }

}

server {
listen 80;
server_name mall-cms.messandbox.com;

#access_log /data/logs/b2c2c/access_b_cms.log main; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass http://mall-cms.messandbox.com; }

}

server {
listen 80;
server_name mall-common.messandbox.com;

#access_log /data/logs/b2c2c/access_b_common.log main; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass http://mall-common.messandbox.com; }

}

server {
listen 80;
server_name mall-cs.messandbox.com;

#access_log /data/logs/b2c2c/access_b_cs.log main; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass http://mall-cs.messandbox.com; }

}

server {
listen 80;
server_name mall-www.messandbox.com;
#access_log /data/logs/b2c2c/access_b_mall.log main;
error_page 404 = /404.html;
location / {
root /data/zte/www/html/b2c2c;
index sindex/sindex.html sindex/sindex.htm;
}
location /* {
error_page 404 = /404.html;
}
}

server {
listen 80;
server_name mall-s.messandbox.com;

#access_log /data/logs/b2c2c/access_b_mall.log main; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { root /data/zte/www/static/b2c2c; index index.html index.htm; }

}

server {
listen 80;
server_name mall-c.messandbox.com;

#access_log /data/logs/b2c2c/access_b_mall.log main; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { proxy_pass http://mall-c.messandbox.com; }

}
server {
listen 80;
server_name mall-download.messandbox.com;

proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; location / { root /data/zte/www/downloads; index index.html index.htm; }

}

tomcat_catalina.sh

JAVA_OPTS='-server -Xms2048m -Xmx2048m -Xss256k -XX:MaxNewSize=256m -XX:MaxPermSize=256m'

tomcat_app_server.xml

    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" 
        maxThreads="3000" minSpareThreads="500" maxIdleTime="60000"/>

<Connector executor="tomcatThreadPool" port="8091" protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000"
keepAliveTimeout="15000"
maxKeepAliveRequests="1"
acceptCount="1000"
enableLookups="false"
redirectPort="8443" URIEncoding="UTF-8" />

<Host name="mall-sc.messandbox.com" appBase="/data/tomcat-m-web/webapps/cm-cookie-web" unpackWARS="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/data/tomcat-m-web/webapps/cm-cookie-web" path="/" reloadable="true"/>
</Host>
<Host name="mall-my.messandbox.com" appBase="/data/tomcat-m-web/webapps/cm-member-web" unpackWARS="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/data/tomcat-m-web/webapps/cm-member-web" path="" reloadable="true"/>
</Host>
<Host name="mall-info.messandbox.com" appBase="/data/tomcat-m-web/webapps/cm-info-web" unpackWARS="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/data/tomcat-m-web/webapps/cm-info-web" path="" reloadable="true"/>
</Host>
<Host name="mall-open.messandbox.com" appBase="/data/tomcat-m-web/webapps/cm-open-web" unpackWARS="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/data/tomcat-m-web/webapps/cm-open-web" path="" reloadable="true"/>
</Host>
<Host name="mall-pay.messandbox.com" appBase="/data/tomcat-m-web/webapps/cm-pay-web" unpackWARS="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/data/tomcat-m-web/webapps/cm-pay-web" path="" reloadable="true"/>
</Host>
<Host name="mall-cms.messandbox.com" appBase="/data/tomcat-m-web/webapps/cm-cms-web" unpackWARS="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/data/tomcat-m-web/webapps/cm-cms-web" path="" reloadable="true"/>
</Host>
<Host name="mall-common.messandbox.com" appBase="/data/tomcat-m-web/webapps/cm-common-web" unpackWARS="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/data/tomcat-m-web/webapps/cm-common-web" path="" reloadable="true"/>
</Host>
<Host name="mall-cs.messandbox.com" appBase="/data/tomcat-m-web/webapps/cm-community-service-web" unpackWARS="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/data/tomcat-m-web/webapps/cm-community-service-web" path="" reloadable="true"/>
</Host>
<Host name="mall-c.messandbox.com" appBase="/data/tomcat-m-web/webapps/cm-cookie-web" unpackWARS="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/data/tomcat-m-web/webapps/cm-cookie-web" path="" reloadable="true"/>
</Host>
<Host name="mall-search.messandbox.com" appBase="/data/tomcat-m-web/webapps/cm-search-web" unpackWARS="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/data/tomcat-m-web/webapps/cm-search-web" path="" reloadable="true"/>
</Host>

tomcat_web_server.xml

JAVA_OPTS='-server -Xms512m -Xmx1536m -Xss512k -XX:MaxNewSize=512m -XX:MaxPermSize=512m -Djava.awt.headless=true'
&lt;Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="3000" minSpareThreads="500"/&gt; &lt;Connector executor="tomcatThreadPool" port="7891" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000" maxThreads="3000" minSpareThreads="200" maxSpareThreads="5000" acceptCount="5000" enableLookups="false" redirectPort="8443" URIEncoding="UTF-8"/&gt; &lt;Context docBase="/data/tomcat-m-app/webapps/cm-cms-app" path="/cm-cms-app" debug="0" reloadable="true" /&gt; &lt;Context docBase="/data/tomcat-m-app/webapps/cm-common-app" path="/cm-common-app" debug="0" reloadable="true" /&gt; &lt;Context docBase="/data/tomcat-m-app/webapps/cm-community-service-app" path="/cm-sommunity-service-app" debug="0" reloadable="true" /&gt; &lt;Context docBase="/data/tomcat-m-app/webapps/cm-info-app" path="/cm-info-app" debug="0" reloadable="true" /&gt; &lt;Context docBase="/data/tomcat-m-app/webapps/cm-member-app" path="/cm-member-app" debug="0" reloadable="true" /&gt; &lt;Context docBase="/data/tomcat-m-app/webapps/cm-open-app" path="/cm-open-app" debug="0" reloadable="true" /&gt; &lt;Context docBase="/data/tomcat-m-app/webapps/cm-pay-app" path="/cm-pay-app" debug="0" reloadable="true" /&gt; &lt;Context docBase="/data/tomcat-m-app/webapps/cm-search-app" path="/cm-search-app" debug="0" reloadable="true" /&gt;

 

 

 

  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1062 引用 • 3455 回帖 • 140 关注
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    316 引用 • 547 回帖 • 2 关注
  • Tomcat

    Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。

    162 引用 • 529 回帖 • 8 关注
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    957 引用 • 944 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • frp

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    17 引用 • 7 回帖 • 3 关注
  • 创业

    你比 99% 的人都优秀么?

    81 引用 • 1395 回帖
  • VirtualBox

    VirtualBox 是一款开源虚拟机软件,最早由德国 Innotek 公司开发,由 Sun Microsystems 公司出品的软件,使用 Qt 编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。

    10 引用 • 2 回帖 • 11 关注
  • 尊园地产

    昆明尊园房地产经纪有限公司,即:Kunming Zunyuan Property Agency Company Limited(简称“尊园地产”)于 2007 年 6 月开始筹备,2007 年 8 月 18 日正式成立,注册资本 200 万元,公司性质为股份经纪有限公司,主营业务为:代租、代售、代办产权过户、办理银行按揭、担保、抵押、评估等。

    1 引用 • 22 回帖 • 818 关注
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    500 引用 • 1396 回帖 • 253 关注
  • danl
    188 关注
  • SQLite

    SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。

    4 引用 • 7 回帖
  • CSDN

    CSDN (Chinese Software Developer Network) 创立于 1999 年,是中国的 IT 社区和服务平台,为中国的软件开发者和 IT 从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。

    14 引用 • 155 回帖
  • SendCloud

    SendCloud 由搜狐武汉研发中心孵化的项目,是致力于为开发者提供高质量的触发邮件服务的云端邮件发送平台,为开发者提供便利的 API 接口来调用服务,让邮件准确迅速到达用户收件箱并获得强大的追踪数据。

    2 引用 • 8 回帖 • 515 关注
  • 工具

    子曰:“工欲善其事,必先利其器。”

    302 引用 • 772 回帖
  • CAP

    CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。

    12 引用 • 5 回帖 • 637 关注
  • 学习

    “梦想从学习开始,事业从实践起步” —— 习近平

    173 引用 • 541 回帖
  • CloudFoundry

    Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

    4 引用 • 16 回帖 • 203 关注
  • Gitea

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

    5 引用 • 16 回帖 • 3 关注
  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 677 关注
  • IPFS

    IPFS(InterPlanetary File System,星际文件系统)是永久的、去中心化保存和共享文件的方法,这是一种内容可寻址、版本化、点对点超媒体的分布式协议。请浏览 IPFS 入门笔记了解更多细节。

    20 引用 • 245 回帖 • 241 关注
  • jsDelivr

    jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。

    5 引用 • 31 回帖 • 107 关注
  • 996
    13 引用 • 200 回帖
  • 强迫症

    强迫症(OCD)属于焦虑障碍的一种类型,是一组以强迫思维和强迫行为为主要临床表现的神经精神疾病,其特点为有意识的强迫和反强迫并存,一些毫无意义、甚至违背自己意愿的想法或冲动反反复复侵入患者的日常生活。

    15 引用 • 161 回帖 • 4 关注
  • flomo

    flomo 是新一代 「卡片笔记」 ,专注在碎片化时代,促进你的记录,帮你积累更多知识资产。

    6 引用 • 143 回帖 • 1 关注
  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    127 引用 • 169 回帖
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 50 关注
  • 阿里巴巴

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 38 关注
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    211 引用 • 2042 回帖
  • Sublime

    Sublime Text 是一款可以用来写代码、写文章的文本编辑器。支持代码高亮、自动完成,还支持通过插件进行扩展。

    10 引用 • 5 回帖 • 1 关注
  • Telegram

    Telegram 是一个非盈利性、基于云端的即时消息服务。它提供了支持各大操作系统平台的开源的客户端,也提供了很多强大的 APIs 给开发者创建自己的客户端和机器人。

    5 引用 • 35 回帖 • 1 关注
  • 禅道

    禅道是一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法 scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。

    10 引用 • 15 回帖 • 1 关注