专栏首页git通过nginx+uwsgi部署django应用在ubuntu

通过nginx+uwsgi部署django应用在ubuntu

路过的关注一下哈 :

1.安装python3-pip -------------sudo apt-get install python3-pip 2.安装虚拟环境和虚拟环境管理包 sudo pip3 install virtualenv (报错的话需要把pip也安装一下) sudo pip3 virtualenvwrapper 在~/.bashrc 添加 export WORKON_HOME=~/Envs source /usr/local/bin/virtualenvwrapper.sh (如果没有virtualenvwrapper.sh就在这目录下创建这个文件) source .bashrc 创建虚拟环境:mkvirtualenv ShangOnline –p /usr/bin/python3 3.虚拟环境当中安装项目所依赖的包(mysqlclient会出一个问题,需要首先安装下面这个包) 我们可以通过 pip freeze > requirements.txt 将windows的虚拟环境安装包相应信息导出来移动到ubuntu pip3 install -r requirements.txt 在安装过程中mysqlclient会报错,按照下面两步走 sudo apt-get install libmysqlclient-dev pip install mysqlclient

4. 数据库: sudo apt-get install mysql-server 进入数据库创建自己的账户并且分配所有的权限,并且刷新权限,在配置文件当中bind 0.0.0.0 在ubuntu 当中创建我们用的数据库shangonline,通过windows的Navicat将windows数据库中的数据传输到ubuntu当中 将我们的项目文件夹拖入到我们的虚拟环境当中,进入项目python manage.py runserver保证能拉起项目 5.安装uwsgi-------pip3 install uwsgi 测试uwsgi---------uwsgi --http :8000 --module ShangOnline.wsgi

6. 安装配置nginx------sudo apt-get install nginx 安装完成会自动启动nginx的服务,我们在外部windows浏览器直接访问ubuntu ip 会进入到nginx的环境界面 在项目 根目录新建文件夹config-------新建sol_nginx.conf

# the upstream component nginx needs to connect to upstream django { # server unix:///path/to/your/mysite/mysite.sock; # for a file socket server 127.0.0.1:8000; # for a web port socket (we'll use this first) } # configuration of the server

server { # the port your site will be served on listen 80; # the domain name it will serve for server_name 你的ip地址 ; # substitute your machine's IP address or FQDN charset utf-8;

# max upload size client_max_body_size 75M; # adjust to taste

# Django media location /media { alias /home/ly/ShangOnline/static/media; # 指向django的media目录 }

location /static { alias /home/ly/ShangOnline/static; # 指向django的static目录 }

# Finally, send all non-media requests to the Django server. location / { uwsgi_pass django; include /etc/nginx/uwsgi_params; # the uwsgi_params file you installed } } 7. 将该配置文件加入到nginx的启动配置文件中 sudo cp /home/ly/ShangOnline/config/sol_nginx.conf /etc/nginx/conf.d/ 8. 拉取所有需要的static file 到同一个目录 在django的setting文件中,添加下面一行内容:

STATIC_ROOT = os.path.join(BASE_DIR, "static/") 运行命令 python manage.py collectstatic 9. 运行nginx sudo /usr/sbin/nginx 这里需要注意 一定是直接用nginx命令启动, 不要用systemctl启动nginx不然会有权限问题 10. 通过配置文件启动uwsgi 新建uwsgi.ini 配置文件, 内容如下:

# mysite_uwsgi.ini file [uwsgi]

# Django-related settings # the base directory (full path) chdir = /home/ly/ShangOnline/ # Django's wsgi file module = ShangOnline.wsgi # the virtualenv (full path)

# process-related settings # master master = true # maximum number of worker processes processes = 10 # the socket (use the full path to be safe socket = 127.0.0.1:8000 # ... with appropriate permissions - may be needed # chmod-socket = 664 # clear environment on exit vacuum = true virtualenv = /home/ly/Envs/ShangOnline

logto = /tmp/mylog.log

******注: chdir: 表示需要操作的目录,也就是项目的目录 module: wsgi文件的路径 processes: 进程数 virtualenv:虚拟环境的目录

workon ShangOnline uwsgi -i /home/ly/ShangOnline/config/uwsgi.ini & 10.访问 http://你的ip地址/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • centos7.5 部署flask+nginx+uwsgi+python3

    ## uwsgi [uwsgi] master = true max-requests = 6000 processes = 6 threads = ...

    用户2337871
  • gunicorn +nginx+python3 部署flask项目(gevent+gevent)--依赖的包

    gunicorn +nginx+python3 部署(gevent+gevent)--依赖的包

    用户2337871
  • ubutun安装 docker

    用户2337871
  • [python]使用django快速生成自己的博客小站,含详细部署方法

    一枝花算不算浪漫
  • 2017 年你不能错过的 Java 类库

    因为内容非常好,我便将它整理成参考列表分享给大家, 同时附上各个库的特性简介和示例。

    哲洛不闹
  • 查找 nginx的配置文件的路径

    xiny120
  • Linux 搭建Nginx+uwsgi+Django环境

    然后在项目文件夹根目录执行下面命令,然后就可以在项目根目录下面找到后端的样式资源(static文件夹下)了 python3 manage.py colle...

    lin_zone
  • 手把手教你在腾讯云上搭建hive3.1.2的方法

    所有操作开始前,先确定hadoop版本已经装好。具体可以看我的另一篇博客 搭建hadoop3.x

    砸漏
  • What's the difference of name scope and a variable scope in tensorflow?

    Let’s begin by a short introduction to variable sharing. It is a mechanism in Te...

    GavinZhou
  • 大点干!早点散----------Nginx+Tomcat动静分离

    我们将静态资源放在 A 主机的一个目录上,将动态程序放在 B 主机上,同时在 A 上安装 Nginx 并且在 B 上安装 Tomcat。配置 Nginx,当请求...

    不吃小白菜

扫码关注云+社区

领取腾讯云代金券