1. linux本地版
本地運行還挺容易的
1.nameko需要依賴於rabbitMQ-server ,
apt install rabbitmq-server
2.然後在終端運行nameko run xxx,安裝需要的包(nameko,pyMysql,DBUtils等),因爲上面安裝的是在虛擬環境中的
3.在pycharm中打開flask項目,運行前要選擇一個解釋器,安裝需要重新安裝需要的包,因爲解釋器可能是虛擬環境中的,安裝之後就可以在本地運行了。
2.Linux非docker版
下面的博客寫的不錯,幾乎可以解決所有問題,但沒有配置nginx等,會有一個WARNING。
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
https://blog.csdn.net/bull521/article/details/90692213chacha
查看進程的PID ps -aux
殺死xxxx這個進程 kill -s 9 xxxx
3.linux docker版
1.安裝docker,https://segmentfault.com/a/1190000004452499(這個是個坑,docker版本過低)
2.建議修改鏡像源,這樣下載鏡像會快很多,鏈接https://www.cnblogs.com/longronglang/p/8651534.html
3.下載python鏡像(如果已經安裝,則不需要安裝),我的是python3.7版本
docker search python
docker pull python
4.將寫好的flask項目上傳服務器,FTP方式較複雜,建議使用github,本地上傳,在服務器下載
https://www.liaoxuefeng.com/wiki/896043488029600 (廖雪峯老師的教程)
在服務器下載github上的項目時,可能會報錯 fatal: Could not read from remote repository ,是因爲沒有添加SSH公鑰,下面兩篇文章可以解決。
https://baijiahao.baidu.com/s?id=1606669351803311743&wfr=spider&for=pc
https://blog.csdn.net/fenghuibian/article/details/73350890
之後再clone就可以了。
5.
創建一個Dockerfile文件
touch Dockerfile
vim Dockerfile
將下面內容寫入
FROM python:3.7
ADD . /code
WORKDIR /code
RUN apt-get update --fix-missing && apt-get install -y erlang
RUN apt-get update && apt-get install -y rabbitmq-server
RUN pip install -r requirements.txt
CMD ["nameko run hello --broker amqp://guest:guest@localhost"]
CMD ["python", "app.py"]
創建一個docker-compose.yml文件,要安裝docker-compose
touch docker-compose.yml
vim docker-compose.yml
將下面內容寫入文件
version: '2'
services:
web:
build: .
ports:
- "80:5000"
volumes:
- /root/nameko:/code
不要使用tab鍵,要用空格鍵,建議使用80端口,也可以用其他端口,注意不要佔用其他一些服務的端口
在nameko文件夾下使用docker-compose up命令創建鏡像,它會直接創建好容器
要等待一段時間,如果成功會有提示,失敗也會有錯誤提示
提示:
The Docker Engine version is less than the minimum required by Compose. Your current project requires a Docker Engine of version 1.10.0 or greater.
原因可能是docker版本過低,這時需要先卸載docker再安裝,
卸載:
sudo apt-get remove docker 1.9.1
注意加版本號,不然可能不成功