ubuntu 14.04
【install】
sudo apt-get -y update
sudo apt-get -y upgrade
sudo apt-get dist-upgrade -y
sudo apt-get -y install build-essential
sudo apt-get -y install python3-dev
sudo apt-get install python3
wget https://pypi.python.org/packages/source/d/distribute/distribute-0.7.3.zip
sudo apt-get install unzip
unzip distribute-0.7.3.zip
cd distribute-0.7.3
sudo python3 setup.py install
sudo easy_install pip
sudo pip install uwsgi
sudo apt-get install nginx
sudo pip install bottle
セキュリティパッチ自動更新
sudo dpkg-reconfigure --priority=low unattended-upgrades
SSH総当たり攻撃予防
sudo apt-get install -y fail2ban
nginxの設定
/etc/nginx/conf.d/app.conf
一旦、http版
server {
listen 80;
server_name mknod.server;
access_log /var/log/nginx/mknod.server.log;
location / {
include uwsgi_params;
uwsgi_pass unix:///tmp/uwsgi.sock;
}
}
nginx起動
sudo service nginx start
app.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from bottle import route, run, default_app
@route('/')
def hello():
return 'Hello World! abc'
if __name__ == '__main__':
run(host='mknod.server', port=1234)
else:
application = default_app()
通常のbottleアプリとして起動するときは
python3 app.py
動作確認は、
curl http://mknod.server:1234/
uwsgi経由で起動するときは下記のように設定。
uwsgiの設定と起動
mkdir ~/app cd ~/app touch uwsgi.ini # uwsgi.iniを下記のように編集 sudo uwsgi uwsgi.ini
uwsgi.ini
[uwsgi] socket = /tmp/uwsgi.sock pidfile = /tmp/uwsgi/mknod.server.pid daemonize = /tmp/uwsgi/mknod.server.log master = True file = app.py chmod-socket = 666
uwsgiの停止
sudo kill -QUIT `cat /tmp/uwsgi/mknod.server.pid`

