服务器项目部署

WEB工作原理

  • 客户端(chrome) <=> 服务器(nginx) <=> WSGI(uWSGI) <=> Python(Flask) <=> 数据库(MySQL)
  • Flask框架自带测试服务器,所以开发时单独就可运行,但是生产环境中,必要要进行完整部署。

nginx服务器

  • 安装:sudo apt-get install nginx
  • 说明:简单使用nginx
  • 添加虚拟主机:
    • 在/etc/nginx/sites-available下创建虚拟主机配置文件www.blog.com,内容如下:

      server {
      	listen	80;
      	server_name www.blog.com blog.com;
      	
      	location / {
         	root /var/www/blog;
            index index.html;
      	}
        }
      
    • 创建软链接:
      ln -s /etc/nginx/sites-available/www.blog.com /etc/nginx/sites-enabled/www.blog.com

    • 重启nginx服务

    • 创建目录:/var/www/blog

    • 在/var/www/blog下创建文件index.html

    • 添加本地域名解析(劫持),修改配置文件:/etc/hosts,在末尾添加:
      127.0.0.1 www.blog.com
      127.0.0.1 blog.com

Flask项目

  • 说明:将flask项目拷贝到/var/www/blog目录下

uWSGI

  • 说明:uWSGI是实现了WSGI协议的应用程序。

  • 安装:pip3 install uwsgi

  • 配置:

    http				# 以http协议启动
    socket				# 以socket方式启动
    chdir				# uwsgi启动的项目的根目录
    wsgi-file			# 数据交给哪个模块处理
    callable			# 具体可调用的对象
    daemonize			# 后台运行(需要指定一个日志文件)
    processes			# 指定使用的进程数
    threads				# 指定使用的线程数
    
  • 启动演示(以http协议启动)
    uwsgi --http 127.0.0.1:5000 --wsgi-file manage.py --callable app

  • socket方式启动

    • 需要nginx转发请求

        server {
           	listen	80;
           	server_name www.blog.com blog.co
          	location / {
            	# 包含请求参数
             	include uwsgi_params;
            	# 以socket方式转发请求
             	uwsgi_pass 127.0.0.1:5000;
          	}
        }
      

    一定不要忘记重新启动nginx。

    • 启动uwsgi
      uwsgi --socket 127.0.0.1:5000 --wsgi-file manage.py --callable app
    • 将启动参数写入配置文件uwsgi.ini
      [uwsgi]
      socket = 127.0.0.1:5000
      wsgi-file = manage.py
      callable = app

      后台启动

      daemonize = /var/log/uwsgi.log
      启动:uwsgi uwsgi.ini

静态资源处理

  • 说明:静态文件的请求没有必要转发,因为nginx自己就可以处理。所以我们想要重写转发规则。

  • 静态资源的路由转发规则:

       location /static {
            	root /var/www/blog;
            	# 或
            	alias /var/www/blog/static;
          }
    
  • 测试准备

    • 在项目目录下创建static文件夹
    • 拷贝一张图片gyy.jpeg到static目录
  • 测试:看到图片表示OK

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值