zoukankan      html  css  js  c++  java
  • ubantu+nginx+uwsgi+django部署

    1.更新ubantu的apt

      apt-get update
    

    必要时候更新系统: apt-get upgrade

    2.远程连接服务器

      ssh 用户名@ip

      上传代码 : scp 本地文件夹/文件 用户名@ip:远程存放位置

    3.安装数据库

       apt-get install mysql-server mysql-client libmysqlclient-dev

    (ps:如果不安装libmysqlclent-dev,接下来安装mysql-python可能会报错)

    安装完成以后通过 mysql -u用户名 -p密码 进入mysql,创建对应的数据库。

    4.安装redis

      apt-get install redis-server

      确认redis是否运行 netstat -antup / netstat -ntpl / ps -ef|gerp redis

    5.安装python环境

      a.安装pip:  apt-get install python-pip

      b.安装python-dev:  apt-get install python-dev

      c.安装项目环境:   pip install -r 环境文件

    (ps 如果要加快速度需要换镜像元: pip install -r 环境文件 -i https://pypi.tuna.tsinghua.edu.cn/simple gevent)

    6.创建数据库对应的表:

      a.一般情况下:Python manage.py makemigrations puyhon manage.py migrate

      b.本项目: python manage.py migrate auth

       因为 kombu 的两个应用 kombu_transport_django 和 djkombu 会产生数据表冲 突,所以我们需要先运行

       python manage.py migrate kombu_transport_django --fask-intial

       python manage.py migrate djkombu --fake-initial

       同步数据库:   Python manage.py migrate

    7.安装uWSGI:

      pip install uwsgi

      a.在项目同级目录下创建conf文件夹,进入conf里创建uwsgi.ini文件配置环境

    1 [uwsgi]
     2 socket = 127.0.0.1:3031
     3 #使用nginx连接时使用,Django程序所在服务器地址
     4 chdir = /home/mmc/mmcsite
     5 #项目目录
     6 wsgi-file = mmcsite/wsgi.py
     7 #项目中wsgi.py文件的目录,相对于项目目录
     8 processes = 4
     9 #进程数
    10 threads = 2
    11 #线程数
    12 stats = 127.0.0.1:9191
    13 #在指定的地址上,开启状态服务
    
    项目配置
    

      b.uwsgi命令:

        启动uwsgi     uwsgi --ini uwsgi.ini  

        重启uwsgi    service uwsgi restart

        查看uwsgi是否启动成功    ps -ef|grep uwsgi

        关闭uwsgi    uwsgi --stop uwsgi.pid(2和3配置可生成uwsgi.pid文件用来关闭uwsgi)

    8.安装Nginx:

      apt-get install nginx

      nginx.conf为nginx会检查的配置文件路径。你的监听端口可以写在这些文件的下面。sites-enabled里可以配置文件。

      a.在/etc/nginx/conf.d里新建文件 项目名.conf(myproject.conf)配置nginx。

    1 server {
     2         listen       80;   #监听的端口号    
     3         server_name 127.0.0.1;    #服务器ip或者域名
     4 location / { 
     5            #alias /home/mmc/mmcsite/web/;
     6            root /home/mmc/mmcsite/web/;   #静态文件地址路径
     7            index index.html;               #文件格式
     8  }    
     9         #uwsgi配置
    10         location ^~ /iot/ {
    11               include uwsgi_params;
    12               uwsgi_pass 127.0.0.1:3031;
    13         }
    14         #uwsgi_params文件是Nginx向uWSGI传递的参数,uwsgi_pass的意思动态内容请求都通过名为django的upstream传递给uWSGI,这使用文件socket的方式,那么与之前uwsgi.ini里的socket参数配置一致。
    15         error_page 404 /404.html;
    16             location = /40x.html {
    17 } 
    18         error_page 500 502 503 504 /50x.html;
    19             location = /50x.html {
    20 } } 
    
    项目配置
    

      b.nginx命令

        检查nginx配置是否正确    nginx -t

        启动nginx    service nginx start

        关闭nginx    service nginx stop

        重启nginx    service nginx restart

        查看nginx是否启动    ps -ef|grep nginx

    9.注意事项:

      a.如果使用Django自带的admin,需要收集admin的静态文件(先于配置nginx执行)

        STATIC_ROOT = os.path.jpin(os.path.dirname(os,path.dirname(BASE_DIR)), 'font_end_pc/static')

        (ps. font_end_pc/static为静态文件的路径)

        python manage.py collectstatic

      b.Django中的配置。

        修改uwsgi.py里的配置,将开发模式下的setting换位生产环境下的setting。

        os.environ.setdefault('DJANGO_SETTING_MODULE', 'myproject.settings.prod')

        setting里需要注意的项

    # 1.修改配置
    # 正式上线关闭调试模式, 不会暴露服务器信息
    DEBUG = False
    
    # 2.允许的主机
    ALLOWED_HOSTS = ['xxx.com','127.0.0.1']
    
    # 3.前端修改接口地址
    http://127.0.0.1:8000/ => http://xxx.com/
    
    # 4.MySQL数据库根据实际情况配置(注意地址)
    
    # 5.缓存配置, 改为默认, 最简单形式(配置redis)
    
    # 6.收集静态文件
    # 静态资源收集位置
    STATIC_ROOT = os.path.join(BASE_DIR, 'static')
    
    # 7.命令行执行
    python manage.py collectstatic
    
    settings
    
  • 相关阅读:
    ASP.NET中常用的优化性能的方法
    把WinDbg集成到Visual Studio中
    提高ASP.net的性能
    Msn Library
    [转帖]OutOfMemoryException问题的处理
    一完美的关于请求的目录不存在而需要url重写的解决方案!
    在 ASP.NET 中执行 URL 重写
    转 内存不断上升处理方法
    IIS 6 通配符应用映射和HttpHandler配置
    Java开源
  • 原文地址:https://www.cnblogs.com/zj555/p/13966011.html
Copyright © 2011-2022 走看看