åææ¡ä»¶
1. 为 Python åºç¨ç¨åºå®è£
virtualenv å virtualenv wrapperï¼ç®çå¨äºä¸º Python 项ç®å建ç¬ç«çç¯å¢ã
â å®è£
pip
sudo apt-get install python-pip
â å®è£
virtualenv
sudo pip install virtualenv
â å建ç®å½ä»¥åå¨æ¨ç virtualenv
mkdir ~/.virtualenvs
â å®è£
virtualenwrapper
sudo pip install virtualenvwrapper
â å° WORKON_HOME 设置为æ¨ç virtualenv ç®å½
å¯¼åº WORKON_HOME=~/.virtualenvs
â å° WORKON_HOME 设置为æ¨ç virtualenv ç®å½
å¯¼åº WORKON_HOME=~/.virtualenvs
â å° virtualenvwrapper.sh æ·»å å° .bashrc
å°æ¤è¡æ·»å å° ~/.bashrc çæ«å°¾ï¼ä»¥ä¾¿å è½½ virtualenvwrapper å½ä»¤ã/usr/local/bin/virtualenvwrapper.sh
éåºï¼ç¶åéæ°æå¼æ¨ç shellï¼æè
ä½¿ç¨ .bashrc or source ~/.bashrc å½ä»¤éæ°å è½½ .bashrcï¼ç¶åä¸ååå¤å°±ç»ªã
2. å®è£
gitã
apt-get install git
3. å®è£
Nginx ä½ä¸º Web æå¡å¨ï¼è¿æ ·æ¨ä¾¿å¯å¨å
¶ä¹åè¿è¡æ¨çåºç¨ç¨åºã
Sudo apt-get install nginx
å¯å¨æ¨ç第ä¸ä¸ª Linux å®ä¾
æ¥ä¸æ¥åæ¨ä»ç»ä½¿ç¨é¿éäºç®¡çæ§å¶å°è¿è¡ ECS å®ä¾çç¸å ³æ¥éª¤ã
1. ç»å½å°æ¨çå¸æ·ï¼ç¶å导èªå°â产åä¸æå¡âé¨åä¸çâäºæå¡å¨âãåå»ä¾§è¾¹æ èåä¸çæ¦è§ãè¿ä¼æ¾ç¤ºè¿è¡ä¸çå®ä¾å表ãåå»è´ä¹°å®ä¾ä»ä»»æå°åè´ä¹°å®ä¾ï¼æè 继ç»å°ä¸ä¸æ¥å建æ°å®ä¾ã
2. åå»ä¾§è¾¹æ èåä¸çå®ä¾ãå¨å®ä¾å表ä¸éæ©æéå°åï¼ç¶ååå»å³ä¸æ¹æ ä¸çå建å®ä¾ã
3. ç³»ç»ä¼å°æ¨éæ°å®åå°â产åè´ä¹°âæ§å¶å°ï¼å¨æ¤æ¨éè¦éæ©å好çèµæºå - 对 ECS å®ä¾åæ°æ®ä¼ è¾æä¾ç¹æ®å®ä»·çå级èµæºå ææä¾ä¸¤ç§å®ä»·æ¨¡å¼çé«çº§è´ä¹°èµæºå ãæ¨å¯ä»¥æ ¹æ®èªèº«éæ±éæ©è®¢é ï¼ææææå¹´ï¼æè æéä»è´¹ãæ¤æ¡ä¾ä¸ï¼æ们éæ©äºâæéä»è´¹âã
4. å¨æ¤çªå£ä¸ï¼éæ©è¦å¨å ¶ä¸å¯å¨ ECS å®ä¾çæ°æ®ä¸å¿å°ååå¯ç¨æ§åºåãå¦æéæ©äºå°åä½æªéæ©å¯ç¨æ§åºåï¼ç³»ç»ä¼å°å®ä¾éæºæ¾å¨ä»»ä½åºåã
5. ç°å¨æ¨éè¦éæ©èªå·±æ³è¦å建çå®ä¾ç±»åãæ ¹æ®èªèº«éæ±ï¼ä»âçæâé项å¡ä¸éæ©çæå®ä¾ç±»åãçæç±»åæ ¹æ®é ç½®åæç¨ç计ç®è½å表示ä¸åçå®ä¾ç±»åã
6. æ¥ä¸æ¥ï¼éæ©ç½ç»ç±»å以å¯å¨æ¨ç ECS å®ä¾ãå¯æ ¹æ®èªèº«éæ±éæ©ç»å ¸ç½ç»æä¸æç½ç»ãå¨ç»å ¸ç½ç»ä¸ï¼é¿éäºä»¥åå¸å¼æ¹å¼åé IP å°åãå®éåäºéè¦ç®åå¿«éå°ä½¿ç¨ ECS çç¨æ·ãä¸æç½ç»æ´å¤çæ¯ä¸ç§é»è¾é离ç§æç½ç»ï¼å®æ¯æä¸ç¨è¿æ¥ãå®éåäºçæç½ç»ç®¡ççç¨æ·ãéæ©éå½çç½ç»ç±»ååï¼éæ©ç½ç»è®¡è´¹ç±»åï¼æ°æ®ä¼ è¾æåºå®å¸¦å®½ãå¨è¿ä¸¤ç§æ åµä¸ï¼æ¨é½éè¦è®¾ç½®ç½ç»å¸¦å®½å³°å¼ï¼æ大æ°æ®ä¼ è¾éçï¼ã
7. ç°å¨ï¼æ¨éè¦éæ©æä½ç³»ç»ãæ¯ä¸ªé项ä¸é½æä¾äºä¸åæä½ç³»ç»çæ¬çå表ãéæ© Ubuntuã
8. æ ¹æ®èªèº«éè¦ï¼ä»ä¸æèåä¸éæ©ç³»ç»ç£çç±»åãæ¨è¿å¯ä»¥éè¿åå»âæ·»å ç£çâåæ¤å表添å æ´å¤ç£çã
9. å¨âå®å ¨è®¾ç½®âé¨åä¸ï¼æ¨å¯ä»¥å建å¯ç 以æé«å®å ¨æ§ï¼æè å¨æ¤é¶æ®µè·³è¿æ¤æ¥éª¤å¹¶ç¨åä»ç®¡çæ§å¶å°æ§è¡æ¤æä½ã
10. å¨âéè´è®¡åâé¨åä¸ï¼é®å ¥æ¨çå®ä¾å称并设置è¦å¯å¨çå®ä¾çæ°éã
11. å¨âæ¦è§âé¨åæ¥çé 置详æ åæ»ä»·ï¼ç¶ååå»ç«å³è´ä¹°ã
12. åå»å¼é确认ä¸å¡è®¢å并å¯å¨å®ä¾ã
13. å¯å¨å®ä¾åï¼æ¨å¯ä»¥å¨æ§å¶å°çå®ä¾é项å¡ä¸æ¥ç该å®ä¾ã
å®è£ åé¨ç½² Django åºç¨ç¨åº
æ¨å·²ä½¿ç¨é¿éäºç®¡çæ§å¶å°å建åå¯å¨ ECS å®ä¾ï¼æ¥ä¸æ¥è®©æ们äºè§£å¦ä½å®è£ åé¨ç½² Django åºç¨ç¨åºã
1. ä½¿ç¨ ssh å½ä»¤ç»å½å°æ¨çæå¡å¨
2. è¾å ¥å¯ç
3. éè¿å建ä¸ä¸ªæ°ç virtualenv 为é¨ç½² Django åºç¨ç¨åºè®¾ç½®ç¯å¢ï¼
mkvirtualenv DjangoApp
è¦éåºæ°ç virtualenvï¼è¯·ä½¿ç¨ deactivateã
æ¨å¯ä»¥ä½¿ç¨ workon å¨ç¯å¢ä¹é´åæ¢ãè¦å è½½æå¨ virtualenv ä¹é´åæ¢ï¼è¯·ä½¿ç¨ workon å½ä»¤ï¼workon DjangoApp
4. å¨æ¨çå½åç¯å¢ä¸å®è£ Django
pip install Django
5. ä½¿ç¨ django-admin å½ä»¤åå»ºæ ·æ¬é¡¹ç®å¹¶å°ç®å½æ´æ¹ä¸ºé¡¹ç®æ件夹ã
django-admin startproject todoApp
cd todoApp/
6. è¿ç§»æå¼å¯¼æ¨çæ°æ®åºã
python manage.py migrate
7. åå»ºè¶ çº§ç¨æ·ä»¥è®¿é®ç®¡çé¢æ¿ã
python manage.py createsuperuser
8. 设置ç¨æ·åï¼éè¿è¿è¡ç± manage.py æä½ç runserver å½ä»¤æµè¯æ¨çåºç¨ç¨åº
python manage.py runserver 0.0.0.0:8000
æ¨å°çå°ä»¥ä¸å
容å¨ç«¯å£ 8000 ä¸è¿è¡
è½¬è³ /adminï¼è¿æ¯æ¨ç管çé¢æ¿ï¼æ¨å¯å¨æ¤ç®¡çåºç¨ç¨åºã
ç°å¨ä½¿ç¨ Nginx å°æ¨çåºç¨ç¨åºç½®äº Web æå¡å¨ä¹åã
9. å建æ°æ®åºæ¶æ å¼é python ç¯å¢ã
â å°ç®å½æ´æ¹ä¸º Django 项ç®ç®å½
â è¿è¡ä»¥ä¸å½ä»¤
python manage.py migrate
10. æ¶éææéææ件ï¼cssãjs çï¼
â è¿è¡ä»¥ä¸å½ä»¤ä»¥å¨ä»»æç¹å®ä½ç½®æ¶éææéææ件
Python manage.py collectstatic --noinput
â å¼å人åè´è´£å° STATIC_URL è·¯å¾è®¾ç½®ä¸ºå°æ¶éææéææ件çä½ç½®ã
â è¿äºåéå¨é¡¹ç®ç®å½å
ç setting.py ä¸å®ä¹ã
1. STATIC_URL
2. STATICFILES_DIRS
3. STATIC_ROOT
11. ä½¿ç¨ uwsgi æå¡å¨å®è£ uwsgi åºå¹¶å¯å¨æå¡å¨ã
pip install uWSGI
â å建ç¨äºé¨ç½² Django åºç¨ç¨åºç ini æ件vim uwsgi.ini
â å°å ¶ä¿åå°åºç¨ç¨åºç®å½ä¸ç uwsgi.iniãå¦éè¿ä¸æ¥äºè§£å¦ä½ç¼å ini æ件ï¼è¯·åé Python/WSGI åºç¨ç¨åºå¿«éå ¥é¨ãè¿è¡æ¤å½ä»¤ä»¥å¯å¨æ¨çåºç¨ç¨åºã
uwsgi uwsgi.ini ï¼æ¨ç ini æ件ï¼
12. æ´æ¹ nginx é ç½®æ件以ç¨äºåºç¨ç¨åºã
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; server_name localhost; location /static/ { include uwsgi_params; alias /root/todoApp/public/; } location / { include uwsgi_params; uwsgi_pass unix:/tmp/uwsgi.sock; } }
13. éå¯ nginxï¼éåæ¨çåºç¨ç¨åºå°å¯å¨å¹¶å¨ç«¯å£ 80 ä¸ç nginx ä¹åè¿è¡ã