Home >  > 一天学会Python Web框架(二)

一天学会Python Web框架(二)

0

一、部署nginx服务器
下载nginx for Windows,解压到 E:\Service 目录下。
下载Windows Service Wrapper,将里面的winsw-1.9-bin.exe复制到 E:\Service\nginx-1.11.5 下,并改名为nginx-service.exe
Snap1327

小知识:
nginx是一款开源的HTTP服务器和反向代理服务器,nginx可以作为Web服务器提供HTTP访问功能,类似于Apache、IIS等。目前nginx已经在国内外很多网站作为Web服务器或反向代理服务器来使用。nginx具有跨平台的特性,无论是linux还是Windows系统均可以使用。

比如,我之前的django在服务器上就是采用Gunicorn+nginx来进行配置的。

二、将nginx安装成Windows服务
在E:\Service\nginx-1.11.5 目录下创建一个nginx-service.xml文件。代码如下:

<?xml version="1.0" encoding="UTF-8" ?>
<service>
  <id>nginx</id>
  <name>Nginx Service</name>
  <description>High Performance Nginx Service</description>
  <executable>E:\Service\nginx-1.11.5\nginx.exe</executable>
  <logpath>E:\Service\nginx-1.11.5\</logpath>
  <logmode>roll</logmode>
  <depend></depend>
  <startargument>-p E:\Service\nginx-1.11.5</startargument>
  <stopargument>-p E:\Service\nginx-1.11.5\nginx.exe -s stop</stopargument>
</service>

在cmd窗口,输入命令:E:\Service\nginx-1.11.5\nginx-service.exe install ,将nginx安装成Windows服务
Snap1329

备注:
点击我的电脑 右键 -> 管理 -> 服务 ,看到有Nginx Service 这个服务,就确认启动成功了。
Snap1330

三、配置nginx
在nginx的conf文件夹找到nginx.conf文件,直接修改成改成以下内容。

worker_processes  1; #工作进程的个数,建议设置为等于CPU总核心数

events {
    worker_connections  1024; #单个进程最大连接数(最大连接数=单个连接数*进程数)
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    sendfile        on;

    keepalive_timeout  30;

    #gzip  on;  #以上内容是原conf文件有的

    #服务器的集群配置
    upstream myweb {
        #fair;
        ip_hash;
        # 设置后端接口服务器地址
        server 127.0.0.1:9090 weight=1 max_fails=5 fail_timeout=5s; 
    }

    server {
        listen      81;         # 监听80端口,如果被占用了,可以改成其他端口
        charset     utf-8;
        root        E:\\Python\\simple\\html; # 前端html路径,这里可以修改为你放置前端html的路径
        server_name 127.0.0.1;     # 当前服务的域名,可以有多个,用空格隔开
        
        location / {
                index  Index.html index.html;
        }
        
        # 设置后端接口跳转地址,访问括号中的地址时会自动跳转到后端接口服务上
        location ~* ^/(index|api)/ { # 这里设置
            #请求转向自定义的的负载均衡服务器列表
            proxy_pass                    http://myweb;
            proxy_cache_key            $host$uri$is_args$args;
            proxy_set_header           Host $host; 
            proxy_set_header           X-Real-IP $remote_addr; 
            proxy_set_header           X-Forwarded-For $proxy_add_x_forwarded_for;  #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
            proxy_connect_timeout      3; #nginx跟后端服务器连接超时时间(代理连接超时)
            proxy_send_timeout         5; #后端服务器数据回传时间(代理发送超时)
            proxy_read_timeout         5; #连接成功后,后端服务器响应时间(代理接收超时)
        }
    }

}

四、复制前端html文件
将前端html文件复制到E:\Python\simple\html,即上面nginx.conf文件中设定的路径。

附前端文件下载链接:

html前端文件

五、查看网站
打开浏览器输入:http://127.0.0.1:81/ 就可以看到前端页面了
Snap1331

同样,打开浏览器输入:http://127.0.0.1:81/login.html就可以看到后端登录页面了。

本文暂无标签

发表评论

*

*