Linux笔记:使用uWSGI将python项目发布到linux服务器上
程序员文章站
2022-06-18 23:18:01
...
检查服务器软件环境
- $
apt update
安装软件之前的通用操作 - $
python3 -V
检查是否安装python3 - $
pip3 -V
检查是否安装pip3 - $
apt install python3
如果没有,则执行安装 - $
apt install python3-pip
如果没有,则执行安装 - $
pip3 install django
安装django框架
使用django创建一个简单的项目
1 ) 创建项目
django-admin startproject demo
cd demo/
ls
demo manage.py
cd demo
__init__.py settings.py urls.py wsgi.py
2 ) 编辑urls.py
from django.http import HttpResponse # 导入response
# 修改路由配置, 注意高版本的路由写法可能不一样, 此处只做举例
urlpatterns = [
path('', lambda request: HttpResponse("Hello World")),
]
3 ) 测试运行程序
- $
python3 manage.py runserver
服务器运行起来了
4 ) 支持远程访问
- 将刚才测试的服务结束掉
- 编辑配置文件 $
vi demo/settings.py
文件- 开启:
ALLOWED_HOSTS = ['*']
- 开启:
- 重新运行服务器:$
python3 manage.py runserver 0.0.0.0:8080
- 在其他电脑上通过ip地址访问:
服务器ip:8080
Hello World 即可正常响应
5 ) 注意
- django自带的server只能用于开发环境,性能较差
- 生产环境推荐uWSGI软件
安装和使用uWSGI
- uWSGI 是c语言写的专业的web服务器,性能强悍
- 安装uWSGI, $
pip3 install uwsgi
- 启动调试uWSGI, $
uwsgi --http :9090 --chdir /rootdemo --module demo.wsgi
- 这种方式用于调试
-
--http
: 表示 表示要开启一个http的服务, 指定的访问地址(端口), 默认没有ip表示本服务器 -
--chdir
: 表示 指定项目的目录 -
--module
: 表示 指定运行的模块
- 后台运行服务并开启日志的方法: $
uwsgi --http :9090 --chdir /rootdemo --module demo.wsgi --daemonize /var/log/uwsgi.log
-
--daemonize
: 表示以服务的方式运行,不会占用终端, 并设置日志文件 - 这是部署项目最终运行的方式
-
- 如果需要结束该进程,那么:$
ps -ef | grep uwsgi
查找到该进程的父进程ID, 即:PPID- $
kill -9 父进程ID号
- $
- 将运行命令写到开机脚本中:
- 为了避免每次开机都要手动启动该服务
- $
vi /etc/rc.local
- 将
uwsgi --http :9090 --chdir /rootdemo --module demo.wsgi --daemonize /var/log/uwsgi.log
命令复制粘贴到最后(exit 0
的上面)
- 优化开机脚本:
- 查看uwsgi的完整路径: $
which uwsgi
输出一般默认是:/usr/local/bin/uwsgi
- 优化脚本:
/usr/local/bin/uwsgi --http :9090 --chdir /rootdemo --module demo.wsgi --daemonize /var/log/uwsgi.log
- 推荐写完整路径
- 查看uwsgi的完整路径: $
上一篇: 缓存
推荐阅读
-
Linux下将Python的Django项目部署到Apache服务器
-
将网站发布到阿里云的Linux服务器上(简述)
-
Linux下将Python的Django项目部署到Apache服务器
-
Linux笔记:使用uWSGI将python项目发布到linux服务器上
-
Linux学习,部署django项目到服务器,及安装python,uwsgi等
-
Linux下将Python的Django项目部署到Apache服务器
-
Linux下将Python的Django项目部署到Apache服务器
-
将网站发布到阿里云的Linux服务器上(简述)
-
我用TP做了一个项目,求教项目如何发布到Linux服务器上,放到哪个文件夹下,要注意哪些地方?
-
我用TP做了一个项目,求教项目如何发布到Linux服务器上,放到哪个文件夹下,要注意哪些地方?