python3.6 ubuntu部署nginx、 uwsgi、 django

时间:2023-03-09 21:49:48
python3.6    ubuntu部署nginx、 uwsgi、 django

ubuntu部署nginx、 uwsgi、 django


  • 将项目上传到服务器
    • python manager.py runserver 0:80  
    • 在浏览器输入服务器的域名或者ip地址,访问成功。
  • 安装uwsgi
    • apt-get install python3.6-dev
    • pip install uwsgi
    • 编写uwsgi配置
       [uwsgi]
      
       # 使用nginx配置
      # socket = 0.0.0.0:8080
      # 使用uwsgi配置
      http = 0.0.0.0:8080
      # 项目目录
      chdir = 你的项目根目录
      #wsgi.py文件的目录,相对根目录
      wsgi-file = main/wsgi.py
      # 指定工作进程中的进程数
      processes = 4
      # 指定工作进程中的线程数
      threads = 2
      #
      master=True
      # 保存启动之后的主进程的pid
      pidfile=uwsgi.pid
      # 设置uwsgi后台运行,uwsgi.log保存日志信息
      daemonize=uwsgi.log
      # 设置虚拟环境的路径
      virtualenv=/root/.virtualenvs/mengshu
      23 # 代码更改后自动重启服务
      24 py-autoreload=1
    • 启动uwsgi服务
      • 进入到项目的根目录下
      • uwsgi --ini uwsgi.ini
      • 若出现
        • [uWSGI] getting INI configuration from uwsgi.ini
      • 配置成功
    • 打开浏览器访问ip或域名配置的端口,若无响应,则查看相应的端口有没有被打开
  • 安装nginx
    • sudo apt-get update
    • sudo apt-get install nginx
    • 安装完之后nginx的配置会默认在  /etc/nginx下
    • 进入该文件夹  cd /etc/nginx
    • 编写nginx配置: sudo vim nginx.conf
    • 在该文件里找到http  在里面加入
       upstream mengshu {
      # uwsgi监听的端口号和地址
      server 0.0.0.0:8080
      } server {
      listen 80;
      # 服务器的公网ip和域名,可配置二级域名
      server_name 0.0.0.0:80; location / {
      include /etc/nginx/uwsgi_params;
      uwsgi_pass mengshu;
      } }
    • 将uwsgi的配置文件的http注释掉,将socket打开
    • 重启uwsgi
      • 关闭uwsgi
        • uwsgi --stop uwsgi.pid
      • 开启uwsgi
        • uwsgi --ini  uwsgi.ini
    • 启动nginx
      • /usr/sbin/nginx
    • 在浏览器输入IP地址和域名即可访问页面
    • 查看响应头
    • python3.6    ubuntu部署nginx、 uwsgi、 django