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
注意加版本号,不然可能不成功