Cody Blog

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 portal,

WEBSITE_TIME_ZONE

Set WEBSITE_TIME_ZONE to anyvalue defined in here: https://technet.microsoft.com/en-us/library/cc749073(v=ws.10).aspx …

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