美文网首页
部署uwsgi以及nginx

部署uwsgi以及nginx

作者: 时光清浅_许你心安_ | 来源:发表于2018-12-08 22:38 被阅读0次
  • 购买服务器

可以到阿里云,腾讯云,服务器商购买服务器和域名;
其中各服务商有试用时间段,如果用于测试则可以使用免费的服务器。

选择地区;
选择系统,一般为ubuntu16.04 x 64;
自己玩的话,最低配够了,视具体情况而定;
买完之后会让你设置主机登录密码和远程密码;

搭建服务器虚拟环境

1)在本机进入虚拟环境,执行命令导出当前需要的所有包。

pip freeze > plist.txt

2)通过ftp软件将项目代码和plist.txt文件上传到服务器。
3)创建虚拟环境,在虚拟环境上安装包。

mkvirtualenv 虚拟环境名称
pip install -r plist.txt

WSGI:

全称是Web Server Gateway Interface(web服务器网关接口)
它是一种规范,它是web服务器和web应用程序之间的接口
它的作用就像是桥梁,连接在web服务器和web应用框架之间
没有官方的实现,更像一个协议。只要遵照这些协议,WSGI应用(Application)都可以
在任何服务器(Server)上运行
uwsgi:是一种传输协议,用于定义传输信息的类型。常用于在uWSGI服务器与其他网络服务器的数据通信
uWSGI:是实现了uwsgi协议WSGI的web服务器。

  • 先更新apt软件源
sudo apt-get update
  • uwsgi安装

uwsgi是一个能够运行flask项目的高性能web服务器,需要先安装两个依赖

apt-get install build-essential python-dev
  • 然后进行uwsgi的安装
pip install uwsgi
  • nginx安装
apt-get install nginx
  • mysql的安装:
apt-get install mysql-server
apt-get install libmysqlclient-dev
  • 虚拟环境的安装
virtualenv和virtualenvwrapper的安装:
pip install virtualenv
pip install virtualenvwrapper

使得安装的virtualenvwrapper生效,编辑~/.bashrc文件,内容如下:

export WORKON_HOME=$HOME/.virtualenvs

export PROJECT_HOME=$HOME/workspace

source /usr/local/bin/virtualenvwrapper.sh
  • 使编辑后的文件生效
source ~/.bashrc

利用pycharm创建python项目
创建config.ini文件作为uwsgi的初始化配置文件

  • uwsgi配置:
    [uwsgi]
    # Django-related settings
        #直接做web服务器使用
    http = 127.0.0.1:8000
        #使用nginx连接时使用
    #socket = 127.0.0.1:8000
        #项目路径
    chdir           =       /home/guowei/PycharmProjects/Myblog
        #wsgi文件
    module          = Myblog.wsgi
        #主进程
    master          = true
        #指定工作进程
    processes       = 4
        #每个工作进程有2个线程
    threads = 2
        #后台启动  日志输出的地方
    daemonize       = uwsgi.log
        #保存主进程的进程号
    pidfile = uwsgi.pid
        #虚拟环境路径
    virtualenv = /home/guowei/.virtualenvs/1807_5
  • 利用scp命令将整个项目上传到远程服务器中
scp -r 本地目录 用户名@ip地址:远程目录
  • 运行uwsgi.ini服务器
uwsgi --ini uwsgi.ini 启动
uwsgi --stop uwsgi.pid 关闭     或killall -9 uwsgi

配置nginx服务器

  • 修改为如下内容:
写到http括号下

    server {
              listen 80;
              server_name 94.191.66.235;
     
              #动态请求
              location / {
                  include uwsgi_params;
                  uwsgi_pass 127.0.0.1:8000;
              }
              #静态
             location /static {
                alias 
  • 启动和停止nginx服务器
/etc/init.d/nginx start #启动
/etc/init.d/nginx stop  #停止
/etc/init.d/nginx restart 重启

相关文章

网友评论

      本文标题:部署uwsgi以及nginx

      本文链接:https://www.haomeiwen.com/subject/zlyqhqtx.html