分类 - Leanote Dev

? leanote教程 ? ? leanote开发 ?    2015-09-18 03:19:37    5572    8    4

1. 生成SSL证书

可以在网上买一个, 或者自己做一个.

这里有一个shell脚本可以自动生成证书:

#!/bin/sh

# create self-signed server certificate:

read -p "Enter your domain [www.example.com]: " DOMAIN

echo "Create server key..."

openssl genrsa -des3 -out $DOMAIN.key 1024

echo "Create server certificate signing request..."

SUBJECT="/C=US/ST=Mars/L=iTranswarp/O=iTranswarp/OU=iTranswarp/CN=$DOMAIN"

openssl req -new -subj $SUBJECT -key $DOMAIN.key -out $DOMAIN.csr

echo "Remove password..."

mv $DOMAIN.key $DOMAIN.origin.key
openssl rsa -in $DOMAIN.origin.key -out $DOMAIN.key

echo "Sign SSL certificate..."

openssl x509 -req -days 3650 -in $DOMAIN.csr -signkey $DOMAIN.key -out $DOMAIN.crt

假设得到了两个文件: a.com.crt, a.com.key

2. 配置Nginx

假设Leanote运行的端口是9000, 域名为a.com, 那么nginx.conf可以配置如下:

# 本配置只有http部分, 不全
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    
    upstream  a.com  {
        server   localhost:9000;
    }

    # http
    server
    {
        listen  80;
        server_name  a.com;
? leanote教程 ? ? leanote开发 ?    2015-09-18 03:18:19    4668    5    3

运行Leanote的一般方法是

revel run github.com/leanote/leanote

那么, 运行Leanote必须要用revel吗? 答案是否定的.

revel run github.com/leanote/leanote 其实做了3件事, 1) 生成routes.go, main.go, 2) 编译Leanote, 3)运行Leanote.

其中1) 生成routes.go, main.go 必须要用revel来完成, 但是这两个文件一般是不会改变的. 所以我们可以不用revel来运行Leanote:

# build leanote, 在当前目录生成了leanote二进制文件
go build -o ./leanote github.com/leanote/leanote/app/tmp

# 运行leanote, 其中-importPath是必须的
./leanote -importPath=github.com/leanote/leanote -runMode=prod -port=9000

欢迎投稿, 标签为 "leanote教程" 和 "leanote开发"