下载地址gocode

首先下载源码编译安装

go get github.com/mdempsky/gocode
cd $GOPATH/src/github.com/mdempsky/gocode
go install

Sublime Text 3设置
Sublime Text 3的插件在subl3此存储库的目录中提供。要安装它:

将插件复制到Sublime Text 3 Packages目录中:

$ cp -r $GOPATH/src/github.com/mdempsky/gocode/subl3 ~/Library/Application Support/Sublime Text 3/Packages/

将插件目录重命名subl3为gocode:

$ mv ~/Library/Application Support/Sublime Text 3/Packages/subl3 ~/Library/Application Support/Sublime Text 3/Packages/gocode

打开Command Pallete(Ctrl+Shift+P)并运行Package Control: List Packages命令。您应该看到gocode列为活动插件。

groupadd 用户组
useradd -s /bin/bash -g 用户组 用户 -d /home/用户/

在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient),和灵活的(pretty)。静态主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。瞬态主机名是在系统运行时临时分配的主机名,例如,通过DHCP或mDNS服务器分配。静态主机名和瞬态主机名都遵从作为互联网域名同样的字符限制规则。而另一方面,灵活主机名则允许使用自由形式(包括特殊/空白字符)的主机名,以展示给终端用户(如qqmm)。
在CentOS 7中,有个叫hostnamectl的命令行工具,它允许你查看或修改与主机名相关的配置。

要查看主机名相关的设置:
[root@localhost ~]# hostnamectl
Static hostname: localhost.localdomain

     Icon name: computer-vm
       Chassis: vm
    Machine ID: 21ff9d4ebdd94e949b9fd6cbdb1926c0
       Boot ID: 2a952e91c02841e3ae10de0d16dd3f01
Virtualization: kvm

Operating System: CentOS Linux 7 (Core)

   CPE OS Name: cpe:/o:centos:centos:7
        Kernel: Linux 3.10.0-327.el7.x86_64
  Architecture: x86-64

[root@localhost ~]# hostnamectl status
Static hostname: localhost.localdomain

     Icon name: computer-vm
       Chassis: vm
    Machine ID: 21ff9d4ebdd94e949b9fd6cbdb1926c0
       Boot ID: 2a952e91c02841e3ae10de0d16dd3f01
Virtualization: kvm

Operating System: CentOS Linux 7 (Core)

   CPE OS Name: cpe:/o:centos:centos:7
        Kernel: Linux 3.10.0-327.el7.x86_64
  Architecture: x86-64

只查看静态、瞬态或灵活主机名,分别使用--static,--transient或--pretty选项。
[root@localhost ~]# hostnamectl --static
localhost.localdomain
[root@localhost ~]# hostnamectl --transient
localhost.localdomain
[root@localhost ~]# hostnamectl --pretty
要同时修改所有三个主机名:静态、瞬态和灵活主机名:
[root@localhost ~]# hostnamectl set-hostname qqmm
[root@localhost ~]# hostnamectl --pretty
[root@localhost ~]# hostnamectl --static
qqmm
[root@localhost ~]# hostnamectl --transient
qqmm
就像上面展示的那样,在修改静态/瞬态主机名时,任何特殊字符或空白字符会被移除,而提供的参数中的任何大写字母会自动转化为小写。
一旦修改了静态主机名,/etc/hostname 将被自动更新。然而,/etc/hosts 不会更新以保存所做的修改,所以你每次在修改主机名后一定要手动更新/etc/hosts,之后再重启CentOS 7。否则系统再启动时会很慢。

手动更新/etc/hosts
vim /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

127.0.0.1 qqmm

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

::1 qqmm
重启CentOS 7 之后(reboot -f ),
[root@qqmm ~]# hostname
qqmm
[root@qqmm ~]# hostnamectl
Static hostname: qqmm

     Icon name: computer-vm
       Chassis: vm
    Machine ID: 21ff9d4ebdd94e949b9fd6cbdb1926c0
       Boot ID: 2a952e91c02841e3ae10de0d16dd3f01
Virtualization: kvm

Operating System: CentOS Linux 7 (Core)

   CPE OS Name: cpe:/o:centos:centos:7
        Kernel: Linux 3.10.0-327.el7.x86_64
  Architecture: x86-64

如果你只想修改特定的主机名(静态,瞬态或灵活),你可以使用--static,--transient或--pretty选项。例如,要永久修改主机名,你可以修改静态主机名:
[root@localhost ~]# hostnamectl --static set-hostname qqmm
重启CentOS 7 之后(reboot -f ),

[root@localhost ~]# hostnamectl --static
qqmm
[root@localhost ~]# hostnamectl --transient
qqmm
[root@localhost ~]# hostnamectl --pretty
qqmm
[root@localhost ~]# hostname
qqmm
其实,你不必重启机器以激活永久主机名修改。上面的命令会立即修改内核主机名。
注销并重新登入后在命令行提示来观察新的静态主机名

转自:[ http://www.linuxidc.com/Linux/2014-11/109238.html]

location正则写法

location  = / {
  # 精确匹配 / ,主机名后面不能带任何字符串
  [ configuration A ]
}

location  / {
  # 因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求
  # 但是正则和最长字符串会优先匹配
  [ configuration B ]
}

location /documents/ {
  # 匹配任何以 /documents/ 开头的地址,匹配符合以后,还要继续往下搜索
  # 只有后面的正则表达式没有匹配到时,这一条才会采用这一条
  [ configuration C ]
}

location ~ /documents/Abc {
  # 匹配任何以 /documents/Abc 开头的地址,匹配符合以后,还要继续往下搜索
  # 只有后面的正则表达式没有匹配到时,这一条才会采用这一条
  [ configuration CC ]
}

location ^~ /images/ {
  # 匹配任何以 /images/ 开头的地址,匹配符合以后,停止往下搜索正则,采用这一条。
  [ configuration D ]
}

location ~* \.(gif|jpg|jpeg)$ {
  # 匹配所有以 gif,jpg或jpeg 结尾的请求
  # 然而,所有请求 /images/ 下的图片会被 config D 处理,因为 ^~ 到达不了这一条正则
  [ configuration E ]
}

location /images/ {
  # 字符匹配到 /images/,继续往下,会发现 ^~ 存在
  [ configuration F ]
}

location /images/abc {
  # 最长字符匹配到 /images/abc,继续往下,会发现 ^~ 存在
  # F与G的放置顺序是没有关系的
  [ configuration G ]
}

location ~ /images/abc/ {
  # 只有去掉 config D 才有效:先最长匹配 config G 开头的地址,继续往下搜索,匹配到这一条正则,采用
    [ configuration H ]
}

location ~* /js/.*/\.js
  • 已=开头表示精确匹配
    如 A 中只匹配根目录结尾的请求,后面不能带任何字符串。
  • ^~ 开头表示uri以某个常规字符串开头,不是正则匹配
  • ~ 开头表示区分大小写的正则匹配;
  • ~* 开头表示不区分大小写的正则匹配
  • / 通用匹配, 如果没有其它匹配,任何请求都会匹配到

顺序 no优先级:
(location =) > (location 完整路径) > (location ^~ 路径) > (location ~,~* 正则顺序) > (location 部分起始路径) > (/)

上面的匹配结果
按照上面的location写法,以下的匹配示例成立:

实际使用建议

所以实际使用中,个人觉得至少有三个匹配规则定义,如下:
#直接匹配网站根,通过域名访问网站首页比较频繁,使用这个会加速处理,官网如是说。
#这里是直接转发给后端应用服务器了,也可以是一个静态首页
# 第一个必选规则
location = / {
    proxy_pass http://tomcat:8080/index
}
# 第二个必选规则是处理静态文件请求,这是nginx作为http服务器的强项
# 有两种配置模式,目录匹配或后缀匹配,任选其一或搭配使用
location ^~ /static/ {
    root /webroot/static/;
}
location ~* \.(gif|jpg|jpeg|png|css|js|ico)$ {
    root /webroot/res/;
}
#第三个规则就是通用规则,用来转发动态请求到后端应用服务器
#非静态文件请求就默认是动态请求,自己根据实际把握
#毕竟目前的一些框架的流行,带.php,.jsp后缀的情况很少了
location / {
    proxy_pass http://tomcat:8080/
}

转至http://seanlook.com/2015/05/17/nginx-location-rewrite/

1、字符串前加 u

  例:u"我是含有中文字符组成的字符串。"

  作用:后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。

2、字符串前加 r

  例:r"nnnnnn”

  作用:声明后面的字符串是普通字符串,相对的,特殊字符串中含有:转义字符 n t 什么什么的。

3、字符串前加 b

  作用:python3.x里默认的str是(py2.x里的)unicode, bytes是(py2.x)的str, b”“前缀代表的就是bytes
     python2.x里, b前缀没什么具体意义, 只是为了兼容python3.x的这种写法