博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
代码部署规范
阅读量:6238 次
发布时间:2019-06-22

本文共 3970 字,大约阅读时间需要 13 分钟。

系统部署规范

1. OS

  • 系统基础工具、服务

  • 系统配置优化

2. 业务系统

2.1 业务系统说明文档

  • 系统部署手册

    • 系统使用语言以及版本

    • 系统使用扩展库版本

    • 系统使用中间件版本

  • 系统维护手册

2.2 管理员

  • 每一个业务系统,都有一个独立的业务账号,用来管理业务的代码、脚本、以及服务的上线与更新

  • 每一个业务系统,都有唯一的运维人员使用业务账号,对系统进行操作管理

    • 目前由产品团队的技术人员负责,待运维体系建立后,移交由运维人员负责

  • 业务系统使用到数据库服务的,请参照数据库相关规范【link】

2.3 代码目录

  • 系统代码要求部署在非系统分区

  • 代码目录结构说明

# 代码目录结构# /cnicg/[group]/[project]/#                             web/#                             www/#                             script/#                             conf.d/#                             other/
  • cnicg : 单位项目统一目录,位于非系统分区,通过软连接(ln -s /path /cnicg)到cnicg目录

    • 其目录权限为: 755 cnicg:cnicg

  • group : 小组名称,不同的业务小组命名不同

    • 其目录权限为: 700 group:group

  • project : 小组业务下的项目目录

  • web: 项目下的后端代码目录

  • www: 项目下的前端代码目录

  • script: 项目下的工具脚本

  • conf.d : 项目配置文档,或者位于web迷路下

  • other: 其他,待补充

2.4 日志

  • 日志目录要求位于非系统目录

  • 日志结构说明

# 日志目录说明# #1. 业务系统日志# /var/log/cnicg/[group]/[project]/port/#                                         /service.log#                                         /error.log# #2. nginx日志# /var/log/cnicg/[group]/[project]/nginx/#                                         /access.log#                                         /error.log# #3. other日志# ### 3.1 mysql# ### 3.2 mongo# ### 3.3 rabbitmq

2.5 nginx

  • nginx版本 (v1.10.0: 支持stream功能)

  • openssl 版本

  • nginx配置使用nginx默认的配置文件管理策略

  • 运维人员根据需求,可以修改/etc/nginx/nginx.conf 配置文档

    • 通用基本配置

    • 修改参数时,要明白知道修改的意义,以及带来的影响

  • 各项目配置文件位于代码目录中,并通过软连接,连接到/etc/nginx/conf.d 中,比如ln -s /cnicg/iot/示例项目/conf.d/示例项目.conf

  • nginx相关配置

    • proxy.conf

    • mime.types

    • conf.d/*.conf

    • favicon.ico

      • 服务图标,对于web服务,默认要求明确配置

    • robots.txt

      • 默认要求明确配置

      • 资讯类服务,允许特定爬虫爬取特定目录

      • 业务类服务,禁止所有爬虫爬取

    • log

      • 日志格式

      • 日志目录 nginx 模块

3. 附录

3.1 nginx.conf

# sudo adduser --system --no-create-home --disabled-password --group webuser    nginx nginx;# 根据业务需求开启不同的工作进程worker_processes  4;worker_rlimit_nofile 20480;error_log  /var/log/nginx/error.log;pid        /var/run/nginx.pid;events {    use epoll;    worker_connections  20480;}http {    include       /etc/nginx/mime.types;    # custom define proxy configuration    include       /etc/nginx/proxy.conf;     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"';    access_log  /var/log/nginx/access.log  main;    client_header_timeout       3m;    client_body_timeout         3m;    send_timeout                3m;    client_header_buffer_size   1k;    large_client_header_buffers 4 4k;    gzip  on;    gzip_disable        "msie6";    gzip_min_length     1100;    gzip_buffers        4 8k;    gzip_types          text/plain text/ccs application/json application/x-javascript text/xml application/xml text/javascript;    output_buffers  1 32k;    postpone_output 1460;    sendfile        on;    tcp_nopush      on;    tcp_nodelay     on;    send_lowat      12000;    keepalive_timeout  75;    include /etc/nginx/conf.d/*.conf;}

3.2 proxy.conf

proxy_redirect              off;proxy_set_header            Host            $host;proxy_set_header            Port            $server_port;proxy_set_header            X-Real-IP       $remote_addr;proxy_set_header            X-Forwarded-For $proxy_add_x_forwarded_for;client_max_body_size        10m;client_body_buffer_size     128k;proxy_connect_timeout       90;proxy_send_timeout          90;proxy_read_timeout          90;proxy_buffers               32 4k;proxy_buffer_size           4k;proxy_busy_buffers_size     64k;proxy_temp_file_write_size  64k;

3.3 robots.txt

### BEGIN FILE ##### allow baidu bing google spiderUser-agent: BaiduspiderDisallow: /action/Disallow: /admin/Disallow: /my/Disallow: /code/download_srcDisallow: /widgets/User-agent: GooglebotDisallow: /action/Disallow: /admin/Disallow: /my/Disallow: /code/download_srcDisallow: /widgets/User-agent: MSNBotDisallow: /action/Disallow: /admin/Disallow: /my/Disallow: /code/download_srcDisallow: /widgets/# robots file disallow any robots access this siteUser-Agent: *Disallow: /### END FILE ###

转载地址:http://tqdia.baihongyu.com/

你可能感兴趣的文章
Supporting Python 3——不使用2to3转换支持Python 2和Python 3
查看>>
分布式存储系统MogileFS(一)之基本概念
查看>>
Zabbix宏使用及用户自定义监控
查看>>
网络社交如何保护个人隐私?做好这4步
查看>>
mysqlbinlog 命令筛选时间段某表操作记录
查看>>
python 简单擦错误记录
查看>>
css float
查看>>
SQL*Plus中的Echo
查看>>
云计算技术的产生、概念、原理和前景
查看>>
test
查看>>
将自己的项目部署在github上
查看>>
oracle 启动关闭周期
查看>>
【经典数据结构】B树与B+树
查看>>
c++学习 定位new表达式
查看>>
svn问题
查看>>
Fiddler是位于客户端和服务器端的HTTP代理(目前最常用的http抓包工具之一)
查看>>
spring为何要注入接口,而注入接口的实现类就会报错
查看>>
<转>mysql 树查询语句
查看>>
cursor 与refcursor及sys_refcursor的区别
查看>>
SEO基础知识8大精华文章之第一篇(连载)
查看>>