Cody Blog

Software development

Notes of using Django in Azure App Service

DebugConsole

There is an debug conolse that you can exectue some commands for Django related tasks. The debug console is:

https://{YOUR_PROJECT_NAME}.scm.azurewebsites.net/DebugConsole

Migrate django database in Azure

  1. Go to D:\home\site\wwwroot directory

  2. Exceute migrate command

    D:\home\site\wwwroot> .\env\Scripts\python.exe manage.py migrate

Create super user

echo "from django.contrib.auth.models import User; User.objects.create_superuser('admin', 'admin@email.com', 'your_password')" | python manage.py shell

Adjest timezone

Go to azure ...

Vagrant 筆記

安裝 Vagrant (以 VritualBox 為例)

  1. VirtualBox
  2. VirtualBox Extension Pack (Oracle_VM_VirtualBox_Extension_Pack-4.3.26-98988.vbox-extpack)
  3. Vagrant (vagrant_1.7.2.dmg)

新增一個 VM

官方 Box 列表要知道有那些 Vagrant box 的話,可以到此瀏覽

新增一個 VM

$ mkdir <project_name>
$ cd <project_name>
$ vagrant init [box-name]

例子: $ vagrant init ubuntu/vivid64

Vagrant Box

列出已下載的 vagrant box list:

$ vagrant box list

新增 box 到 Vagrant,以 ubuntu 15.04 為例:

$ vagrant box add ubuntu/vivid64

手機修改 Vagrantfile 指定使用那一個 VM Box

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/vivid64"
end

啟動

啟動指定名稱

$ vagrant up <NAME>

也可以全部啟動:

$ vagrant up

登入

$ vagrant ssh

若有多個 VM,就要指定名稱

$ vagrant ssh <NAME>

Guest ...

解決 Geust VM 在 Nested ESXi 網路無法連外的問題

我遇到的情況是在 Ubuntu 13.10 上面安裝 VMware Workstation,在上面安裝了 ESXi 5.5。ESXi 上面的網路是使用 NAT,但是在 ESXi 上面的 VM 卻沒辦法連外 。這邊記錄一下解決的過程,簡單的說: ESXi上的 vSwtich 需要開啟promiscuous mode,然後 ,normal user 需要有權限寫入 /dev/vmnet

Promiscuous 是什麼呢?

在一般的 swtich 設計之下,預設是流通的frame只收到收件者自己的。但是這在 Nested VM 上面會有一些問題,因為 Guest VM 上面的 Mac address 跟 ESXi VM Mac adddress 不同,所以除非 ESXi 能收到 Guest VM 的 frame,不然像是外部的 DHCP 等等協定就沒辦法跟裡面的 VM 互動。而開啟 Promiscuous mode 之後,VM 就會收到其它 interface 的 frame。ESXi 就可以把需要傳送給自己肚子裡面的 VM 按照 vSwitch 的設定轉送過去。而 Promiscuous mode 可以在 ESXi 裡面的 vSwitch/Port group 安全性設定找到。在 5.5.0 一共有三個設定:

  • Promiscuous mode ...

Redis 筆記

啟動 server

$ redis-server

關閉 server

$ redis-server shutdown

測試伺服器是不是正常

$ redis-cli ping

指令伺服器位置

$ redis-cli -h <HOST> -p <PORT> -a <PASSWORD>

常用指令

列出所有的 keys

> key *

清空資料庫

> flushdb