云服務(wù)器購買
https://ecs-buy.aliyun.com/#/prepay
阿里云ECS服務(wù). 簡(jiǎn)單項(xiàng)目最低配置就行.
我的個(gè)人服務(wù)器1核1G1MB帶寬
這個(gè)配置大概是什么概念呢?? 舉個(gè)例子
我裝了java+apache tomcat, 用war包的形式跑jenkins. 在安裝jenkins插件的時(shí)候徹底卡死了. 原因是服務(wù)器內(nèi)存不足. 1G的內(nèi)存不足以讓jenkins跑起來....
但是安裝mysql+nginx+uwsgi跑django項(xiàng)目沒有任何問題. 速度飛快.
我在部署完畢后簡(jiǎn)單測(cè)試了一下.
python requests庫
本機(jī)mac系統(tǒng)下,編寫腳本循環(huán)請(qǐng)求遠(yuǎn)程服務(wù)器django項(xiàng)目接口
循環(huán)10萬次
平均反應(yīng)速度55ms
uwsgi線程一共7個(gè), 跑完10萬次請(qǐng)求 服務(wù)器內(nèi)存還有大約200MB.
以下所有命令例子都是root用戶
服務(wù)器端口配置
成功購買ECS服務(wù)器實(shí)例之后, 可以查看到自己的公網(wǎng)ip地址, 以后連接服務(wù)器就是用這個(gè)ip地址來連接.
在服務(wù)器管理控制臺(tái)中配置實(shí)例安全組, 以開放端口.
ssh 22端口
http 80
偶爾測(cè)試使用8000端口
mysql數(shù)據(jù)庫 3306端口
tomcat(如果有用到)8080端口.
確保服務(wù)器狀態(tài)處于"運(yùn)行中"
接下來ssh 連接服務(wù)器, 開始敲擊各種命令來配置python環(huán)境.
mac系統(tǒng)ssh連接遠(yuǎn)程ubuntu系統(tǒng).
在夠買服務(wù)器時(shí)應(yīng)該填寫過root用戶密碼, 這個(gè)密碼一定包保存好.
mac系統(tǒng)打開終端,
輸入 ssh root@11.11.11.11
輸入密碼回車
舉個(gè)栗子
ssh root@192.168.0.1
your password
連接成功顯示上圖.
root表示服務(wù)器用戶名, 如果創(chuàng)建了新的用戶需要用新用戶登錄, 就將root更換為新的用戶名.輸入新用戶的密碼.
連接成功
顯示歡迎使用阿里巴巴彈性云計(jì)算服務(wù)
列舉一些常用的終端命令(linux, ubuntu)
命令 | 功能 |
---|---|
ls | 顯示當(dāng)前目錄下的內(nèi)容 |
ls -a | 同時(shí)顯示隱藏內(nèi)容 |
cd | 跳轉(zhuǎn)目錄 |
cd .. | 跳轉(zhuǎn)至上一級(jí)目錄 |
mv | 剪切 |
cp | 復(fù)制 |
mkdir | 創(chuàng)建路徑 |
vim | vim編輯器 |
rm -r | 刪除目錄 |
apt-get install | 安裝軟件 |
free | 查看內(nèi)存情況 |
netstat -lntp | 查看端口號(hào)情況 |
top | 查看cpu |
ps -df | 查看進(jìn)程情況 |
df | 查看磁盤使用情況 |
安裝各種軟件
先apt-get update
apt-get update
mysql
apt-get install mysql-server
apt-get install mysql-client
apt-get install libmysqlclient-dev
mysql 5.7的坑!!!
1.user表沒有password 字段 改為authentication_string
1.開放mysql外網(wǎng)訪問
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 找到 bind-address=127.0.0.1
修改為
bind-address=0.0.0.0
編輯完成輸入
:wq! 強(qiáng)制修改.
最后的效果:
重啟mysql
sudo /etc/init.d/mysql restart
2.授權(quán)用戶進(jìn)行遠(yuǎn)程連接.
進(jìn)入mysql命令執(zhí)行狀態(tài)
輸入
mysql -u root -p
表示root 用戶登錄mysql
授權(quán)用戶進(jìn)行遠(yuǎn)程鏈接.
grant all privileges on *.* to root@"%" identified by "password" with grant option;
flush privileges;
從mysql命令輸入狀態(tài)退出
quit命令. over
nginx
安裝nginx
sudo apt-get install nginx
修改nginx用戶. 默認(rèn)是www-data用戶, 此用戶權(quán)限極低.
理論上應(yīng)該新建操作系統(tǒng)用戶來運(yùn)行web程序, 我這里就簡(jiǎn)單點(diǎn)(反正沒重要數(shù)據(jù), 掛了就掛了吧.)統(tǒng)統(tǒng)都是用root用戶來運(yùn)行.
vim /etc/nginx/nginx.conf
修改第一行改為root, 保存并重啟nginx
sudo /etc/init.d/nginx start
sudo /etc/init.d/nginx restart
安裝python
sudo apt-get install python3.5
sudo apt-get install python3.5-dev
sudo apt-get install build-essential
sudo apt-get install libssl-dev
sudo apt-get install libevent-dev
sudo apt-get install libjpeg-dev
sudo apt-get install libxml2-dev
sudo apt-get install libxslt-dev
sudo apt-get install python-pip
sudo pip install virtualenv
sudo pip install
sudo apt-get install python-pip
sudo pip install virtualenv
sudo pip install virtualenvwrapper
為virtualenvwrapper 寫入環(huán)境變量
cd ~
ls -a
vim .bashrc
在文件末尾添加環(huán)境變量.
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/workspace
source /usr/local/bin/virtualenvwrapper.sh
之前的文章中有介紹如何使用pip 與 virtualenv,以及virtualenvwrapper.
使用virtualenvwrapper 創(chuàng)建新的python環(huán)境.
創(chuàng)建的新的python 環(huán)境目錄為
~/.virtualenvs/{your environment}
安裝git
sudo apt-get install git
為git 配置用戶名郵箱.
git config --global user.name "youname"
git config --global user.email "youeamil@email.com"
為git 添加 ssh 私鑰. (公鑰在你的git服務(wù)器上, 私鑰用來驗(yàn)證用戶身份)
mac系統(tǒng)下文件上傳和下載命令
# 下載文件到桌面(從遠(yuǎn)程服務(wù)器下載文件到本機(jī),此處以google dns ip地址舉例)
scp root@8.8.8.8:/root/filename.txt /User/username/Desktop
# 下載文件夾到桌面
scp -r root@8.8.8.8:/root/filedir /User/username/Desktop
# cd 到待上傳文件目錄下,上傳文件
scp -r filename.py root@8.8.8.8:/root/filedir
# 進(jìn)入root用戶根目錄
cd ~
# 查看.ssh目錄
cd .ssh
# 需要將你的git私鑰上傳到.ssh目錄
scp -r id_rsa root@114.114.114.114:/root/.ssh
此時(shí)遠(yuǎn)程服務(wù)器有權(quán)限拉取托管在git上的 程序.
安裝uwsgi
uwsgi使用來運(yùn)行django服務(wù)區(qū)項(xiàng)目的 web應(yīng)用服務(wù)器.
apt-get install uwsgi
apt-get install uwsgi-plugin-python
sudo apt-get install uwsgi-plugins-all