ubantu18.04环境下安装uwsgi并运行flask应用

Ubantu18.04环境安装uwsgi并运行flask应用

安装ubantu18.04

网上关于如何安装ubantu系统的文章多如牛毛,尚未安装ubantu系统的可自行安装。在这里贴上一篇如何在windows下彻底删除ubantu系统的文章,供无法忍受因为安装软件失败而导致系统文件混乱的同学参考。link

安装uwsgi

在ubantu18.04下使用pip安装uwsgi时需要注意的一点是,gcc编译器的版本至少要低于gcc-5。至少在我的电脑的gcc为5.5版本时没有安装成功,换到gcc-4.7时安装成功了。
对于如何使用指定版本的gcc编译器可参阅相关文章。步骤为:删除原有的gcc链接,然后新建一个gcc链接指向所需要的gcc版本。

sudo apt-get install gcc-4.7	# 安装gcc-4.7版本
sudo rm -rf /usr/bin/gcc 		# 删除原有的gcc链接
sudo ln -s /usr/bin/gcc-4.7 us/bin/gcc	# 建立新的gcc链接指向gcc-4.7版本

上述操作完成后,可通过下面的指令来查看gcc链接

ls -l /usr/bin | grep gcc		# 查看当前gcc的指向

在使用linux命令的时候需要注意的一点是当前命令是在那个目录下使用的。对于一些linux命令而言,需要到指定目录下执行。

运行uwsgi服务器

运行一个uwsgi服务器有两种办法,一种是直接在uwsgi命令中添加参数来运行uwsgi服务器;另一种是通过uwsgi加上配置文件来运行服务器。对于我而言,我只关心第二种。由于本人才疏学浅,直使用到了如下几个uwsgi配置参数。
uwsgi.ini文件。文件所在的完整路径是/usr/wty/PycharmProjects/ProjectName/uwsgi.ini

[uwsgi]					# 这是uwsgi配置文件的格式,照着写就行了

http=127.0.0.1:5000		# 这是ip地址和端口号。这个一般人都能理解。
						# 常用到的还有socket,这种情况常见的是Nginx+uWSGI配合使用。由于我只用到uWSGI所以我用了http

processes=8				# 进程数

threads=1				# 线程数

master=true				# 主进程,相关的含义可自行查阅文献,我也说不清

callable=app			# flask中app的名字。好多网上的文章,不知道怎么回事,没有把这个东西是说清楚。对于我这种
						# 比较笨的初学者而言,简直就是.....。刚开始时,始终搞不明白这到底是文件名,还是什么鬼。
						# 无数次失败之后,总算弄明白了这个参数就是使用
						# app = Flask(__name__, instance_relative_config=True)这条语句创建得到的app变量名。
						# 如果不指定或者名字不对,会导致uWSGI服务器提示没有application被加载


chdir=/home/wty/PycharmProjects/ProjectName 					# 项目所在路径

#env=/home/wty/PycharmProjects/ProjectName/venv					# 虚拟环境所在路径,但是我没用到。

wsgi-file=/home/wty/PycharmProjects/ProjectName/runserver.py 	# 这个参数一般是这条
																# app = Flask(__name__, instance_relative_config=True)
																# 语句所在的python文件的路径。 通常与callable的参数相对应。

memory-report=true												# 根据参数名称大概能猜到是什么意思,
																# 但是该参数对服务器性能有什么影响,暂时不清楚。

buffer-size=32768												# 根据名称也大概能知道什么意思,但是该参数对
																# 服务器性能有什么影响,暂时不清楚。

daemonize = /home/wty/PycharmProjects/ProjectName/uwsgi.log		# 日志路径。

配置完uwsgi.ini文件后可通过如下命令运行uWSGI服务器。

uwsgi --ini uwsgi.ini

如果当前终端不在uwsgi所在路径,则需要写入完整的uwsgi.ini文件所在路径。
这里需要注意的一点是,使用启动哪个uwsgi服务器。如果向使用虚拟环境中的uWSGI服务器,则需要在运行上面的命令之前激活虚拟环境。因为我的电脑的虚拟环境所在目录是/home/wty/PycharmProjects/ProjectName/venv。因此我执行如下命令可以激活项目的虚拟环境。

source /home/wty/PycharmProjects/ProjectName/venv/bin/activate

到目前为止,已经完成了ubantu18.04系统下使用uWSGI下部署flask项目。可通过日志/home/wty/PycharmProjects/ProjectName/uwsgi.log 来查看服务器相关的状态。我的日至文件内容为:

在这里插入图片描述

总结

看似工作量不多,难度不大。但对于我这种小白,从安装ubantu到安装uwsgi再到部署flask,真的就像是剥了一层皮。在此记录一下,勉励自己。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值