Skip to content

Instantly share code, notes, and snippets.

@otiai10
Last active December 24, 2015 09:49
Show Gist options
  • Save otiai10/6779454 to your computer and use it in GitHub Desktop.
Save otiai10/6779454 to your computer and use it in GitHub Desktop.
VPSをDebian7.1wheezyにしたのでサーバセットアップのログを取っておこうと思ったわけ 2
@otiai10
Copy link
Author

otiai10 commented Oct 2, 2013

mgoのインストール

mgo
Rich MongoDB driver for Go

bzrのインストール

パッケージ: bzr (2.6.0~bzr6526-1) 簡単に使える分散型バージョン管理システム
Bazaar は分散型バージョン管理システムです。簡単に使えて、直感的で、いろいろ なワークフローに適用でき、信頼性があり、かつ、簡単に拡張できるように設計されています。

www15224uf% apt-cache search bzr
bzr - easy to use distributed version control system
www15224uf% sudo apt-get install bzr
[sudo] password for otiai10:
...中略...
Setting up python-configobj (4.7.2+ds-4) ...
Setting up python-bzrlib (2.6.0~bzr6526-1) ...
Setting up bzr (2.6.0~bzr6526-1) ...
Setting up wwwconfig-common (0.2.2) ...
Setting up javascript-common (7) ...
Setting up libjs-jquery (1.7.2+dfsg-1) ...
Setting up python-crypto (2.6-4) ...
Setting up python-gpgme (0.2-3) ...
Setting up python-httplib2 (0.7.4-2) ...
Setting up python-keyring (0.7.1-1+deb7u1) ...
Setting up python-pkg-resources (0.6.24-1) ...
Setting up python-simplejson (2.5.2-1) ...
Setting up python-lazr.uri (1.0.3-1) ...
Setting up python-wadllib (1.3.0-2) ...
Setting up python-zope.interface (3.6.1-3) ...
Setting up python-oauth (1.0.1-3) ...
Setting up python-lazr.restfulclient (0.12.0-2) ...
Setting up python-launchpadlib (1.9.12-2) ...
Setting up python-paramiko (1.7.7.1-3.1) ...
www15224uf%

なんか色々入ったな...

mgoのインストール

www15224uf% go get labix.org/v2/mgo
www15224uf%

サンプルアプリ作るためのデータをつくる

www15224uf% mongo
MongoDB shell version: 2.4.6
connecting to: test
> help
    db.help()                    help on db methods
    db.mycoll.help()             help on collection methods
    sh.help()                    sharding helpers
    rs.help()                    replica set helpers
    help admin                   administrative help
    help connect                 connecting to a db help
    help keys                    key shortcuts
    help misc                    misc things to know
    help mr                      mapreduce

    show dbs                     show database names
    show collections             show collections in current database
    show users                   show users in current database
    show profile                 show most recent system.profile entries with time >= 1ms
    show logs                    show the accessible logger names
    show log [name]              prints out the last segment of log in memory, 'global' is default
    use <db_name>                set current database
    db.foo.find()                list objects in collection foo
    db.foo.find( { a : 1 } )     list objects in foo where a == 1
    it                           result of the last line evaluated; use to further iterate
    DBQuery.shellBatchSize = x   set default number of items to display on shell
    exit                         quit the mongo shell
> db.createCollection('hoge')
{ "ok" : 1 }
> db.hoge.find()
>
> exit
bye

サンプルアプリをつくる

www15224uf% mkdir -p labo/mgo
www15224uf% cd labo/mgo
www15224uf% vi sample.go

sample.go

package main

import (
        "fmt"
        "labix.org/v2/mgo"
        "labix.org/v2/mgo/bson"
)

type Person struct {
        Name string
        Phone string
}

func main() {
        session, err := mgo.Dial("localhost")
        if err != nil {
                panic(err)
        }
        defer session.Close()

        // Optional. Switch the session to a monotonic behavior.
        session.SetMode(mgo.Monotonic, true)

        c := session.DB("test").C("hoge")
        err = c.Insert(&Person{"Ale", "+55 53 8116 9639"},
                   &Person{"Cla", "+55 53 8402 8510"})
        if err != nil {
                panic(err)
        }

        result := Person{}
        err = c.Find(bson.M{"name": "Ale"}).One(&result)
        if err != nil {
                panic(err)
        }

        fmt.Println("Phone:", result.Phone)
}
www15224uf% go run sample.go
Phone: +55 53 8116 9639

おお動いた

www15224uf% mongo
MongoDB shell version: 2.4.6
connecting to: test
> db.hoge.find()
{ "_id" : ObjectId("524bbd58af5c4c9ebe7961f1"), "name" : "Ale", "phone" : "+55 53 8116 9639" }
{ "_id" : ObjectId("524bbd58af5c4c9ebe7961f2"), "name" : "Cla", "phone" : "+55 53 8402 8510" }
> exit
bye
www15224uf%

DBにも入っとる

@otiai10
Copy link
Author

otiai10 commented Oct 3, 2013

tmuxのインストール

www15224uf% sudo apt-get install tmux
[sudo] password for otiai10:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  tmux
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 249 kB of archives.
After this operation, 543 kB of additional disk space will be used.
Get:1 http://ftp.jp.debian.org/debian/ wheezy/main tmux amd64 1.6-2 [249 kB]
Fetched 249 kB in 0s (592 kB/s)
Selecting previously unselected package tmux.
(Reading database ... 38622 files and directories currently installed.)
Unpacking tmux (from .../archives/tmux_1.6-2_amd64.deb) ...
Processing triggers for man-db ...
Setting up tmux (1.6-2) ...
www15224uf% which tmux
/usr/bin/tmux

@otiai10
Copy link
Author

otiai10 commented Oct 8, 2013

apache2のインストールとリバースプロキシ設定

インストール

www15224uf% sudo apt-get install apache2

proxyモジュールを有効にする

http://otiai10.hatenablog.com/entry/2013/02/12/162501

www15224uf% sudo a2enmod proxy
www15224uf% sudo a2enmod proxy_http
www15224uf% sudo a2enmod proxy_connect

httpd.confを編集する

/etc/apache2/conf.d/httpd.confであった。/etc/apache2/httpd.confでうまくいってたのはなぜだ?

<VirtualHost *:80>
    ServerName yourservicename.com
    ServerAdmin [email protected]

    ProxyRequests off
    ProxyPass / http://applicationserver.com:7777/
    <Location />
        ProxyPassReverse http://applicationserver.com:7777/
        ProxyPassReverseCookieDomain localhost yourservicename.com
        ProxyPassReverseCookiePath / /
        Order allow,deny
        # Allow Allでいいのかな?
        Allow from all
    </Location>
</VirtualHost>

apache restart

www15224uf% sudo /etc/init.d/apache2 restart

@otiai10
Copy link
Author

otiai10 commented Jun 19, 2014

ちょっと訂正

ユーザ関係

  1. suでrootに
  2. apt-getでsudoをinstall
  3. visudoも一緒に入ってくるから一般ユーザをsudoerに追加
  4. exitで一般ユーザに戻る

nginx

  1. sudo apt-get install nginx
  2. sudo which nginx (入ってる確認)
  3. exitで一般ユーザに戻る
  4. sudo nginx
  5. なんも記述無いけどデフォルトのドキュメントルートは/usr/share/nginx/index.htmlっぽい

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment