zoukankan      html  css  js  c++  java
  • Mxonline3.6 在阿里云服务器上的部署(uwsgi nginx)

    我的项目结构

    1. 执行`python manage.py migrate`命令,将迁移文件,映射到数据库中,创建相应的表。

    进入数据库 use mxonline数据库     source /home/Mxonline3-master/mxonline.sql  导入数据


    2. 执行`python manage.py runserver 0.0.0.0:8000`,然后在你自己电脑上,在浏览器中输入`http://你的服务器的ip地址:8000/`,访问下网站所有页 面,确保所有页面都没有错误。
    3. 设置`ALLOW_HOST`为你的域名,以及ip地址。
    4. 设置`DEBUG=False`,避免如果你的网站产生错误,而将错误信息暴漏给用户。

    ### 安装uwsgi
    1. uwsgi是一个应用服务器,非静态文件的网络请求就必须通过他完成,他也可以充当静态文件服务器,但不是他的强项。uwsgi是使用python编写的,因此通过`pip install uwsgi`就可以了。(uwsgi必须安装在系统级别的Python环境中,不要安装到虚拟环境中)。
    2. 使用命令`uwsgi --http :8000 --module zhiliaoketang.wsgi --vritualenv=/root/.virtualenvs/django-env-py2`。用`uwsgi`启动项目,如果能够在浏览器中访问到这个页面,说明`uwsgi`可以加载项目了。

    ### 编写uwsgi配置文件:
    在项目的路径下面,创建一个文件叫做mxonline.ini的文件

    写入配置:

    [uwsgi]
    # socket文件
    socket = 127.0.0.1:8000
    # 项目的路径
    chdir = /home/Mxonline3-master
    # Django的wsgi文件
    module = Mxonline3.wsgi
    # 进程相关的设置
    # 主进程
    master = true
    # 最大数量的工作进程
    processes = 10
    # 设置socket的权限
    chmod-socket = 664
    # 退出的时候是否清理环境
    vacuum = true
    buffer-size = 65536
    # Python虚拟环境的路径
    home            = /root/.virtualenvs/django_env
    

    然后使用命令`uwsgi --ini mxonline.ini`,看下是否还能启动这个项目。

    ### 安装nginx:
    1. nginx是一个web服务器。用来加载静态文件和接收http请求的。通过命令`sudo apt install nginx`即可安装。
    2. `nginx`常用命令:
        * 启动nginx:service nginx start
        * 关闭nginx:service nginx stop
        * 重启nginx:service nginx restart

    ### 编写nginx配置文件:

    在/etc/nginx/conf.d下新建一个文件  mxonline.conf

    写入配置:

     upstream django {
            server 127.0.0.1:8000;
     }
            server {
              listen 80;
              server_name www.donghao.club;
              server_name 47.107.66.196;
              charset utf-8;
              client_max_body_size 75M;
              location /static {
                    alias /home/Mxonline3-master/static;
                    }
                    location / {
                    uwsgi_pass django;
                    include /etc/nginx/uwsgi_params;
                            }
            }
    

    写完配置文件后,为了测试配置文件是否设置成功,运行命令:`service nginx configtest`,如果不报错,说明成功。
    每次修改完了配置文件,都要记得运行`service nginx restart`。

    回到项目->使用命令   uwsgi mxonline.ini

    这样项目就运行起来了

    值得注意的是:由于我是用的阿里云服务器,我们需要开放25端口,用来发送邮件,不然会发送超时。

    这样就部署成功了,当然你也可以用supervisor来对进程管理。

    mxonline 线上地址:http://www.donghao.club/

    Github:https://github.com/1417766861/Mxonline3.6

  • 相关阅读:
    java中Object转String
    JSON以及Java转换JSON的方法(前后端常用处理方法)
    JS基础如何理解对象
    图解数据结构(7)——二叉查找树及平衡二叉查找树(一共14篇)
    C++虚函数表解析(图文并茂,非常清楚)( 任何妄图使用父类指针想调用子类中的未覆盖父类的成员函数的行为都会被编译器视为非法)good
    C++中代理类和句柄类
    C++的 RTTI 观念和用途(非常详细)
    川普就是领着一群工业革命时代的棺材瓤子,发动了一次资本主义复辟,面对互联网不过是一次新的砸机器运动
    基于.NET MVC的高性能IOC插件化架构
    雅虎35条
  • 原文地址:https://www.cnblogs.com/donghaoblogs/p/10389700.html
Copyright © 2011-2022 走看看