微信小程序+nginx+php+mysql实现数据库管理【第3.25期】nginx、uwsgi、flask、django的关系


在正式开始第四期之前,还有两个任务

nginx、uwsgi、flask、django这些是什么东西,要懂个大概。
使用云服务器前的一些准备


nginx、uwsgi、flask、django(tomcat)是什么

在讲uWSGI和WSGI之前,先要弄清楚web开发的两大块,web服务器web框架
web服务器即用来接受客户端请求,建立连接,转发响应的程序。至于转发的内容是什么,交由web框架来处理,即处理这些业务逻辑。如查询数据库、生成实时信息等。Nginx和uwsgi就是一个web服务器Django或flask就是web框架

参考了这两位大佬的文章,写的很好
uwsgi、wsgi和nginx的区别和关系
nginx与uWSGI

个人感觉

web框架&web服务器

web框架就是搭建网页所需要的html等文件,能让你的程序先在本地(127.0.0.1)跑起来
web服务器是为了让web框架能够放在网上所需要的系统

uwsgi的作用:

  1. 部署单个节点,实现简单的服务器搭建
  2. 轻量级,好部署

也就是说,如果只有一个界面的话,用uwsgi就能完成
但是如果要把某个东西同时放到不同的端口,或者放到自己的域名下,就需要nginx了。

nginx(tomcat)的作用:

  1. 反向代理(uwsgi无法完成),可以拦截一些web攻击,保护后端的web服务器
  2. 负载均衡,根据轮询算法,分配请求到多节点web服务器
  3. 缓存静态资源,加快访问速度,释放web服务器的内存占用,专项专用

tomcat跟nginx应该差不多,但是没用过

nginx与uwsgi关系如下:

在这里插入图片描述在这里插入图片描述
中间的反向代理服务器就是nginx
右边的3台web服务器就是uWSGI

flask与django

用来构造网站(确定页面分路径、端口;加载图片、构造html)
其中flask可以作为python的一个模块在python中使用(django没用过不知道,应该类似)


使用云服务器所需准备

博主用的是华为云弹性云服务器,常常是直接在官网给的网页版远程界面敲代码的,感觉其实也不错,可以直接复制粘贴什么的在这里插入图片描述

远程连接工具

  1. putty连接服务器
  2. Navicat连接服务器上的数据库

查看系统版本

cat /etc/redhat-release

域名管理

  1. 购买域名
  2. 实名认证(需要2~3天)
  3. 将域名解析到自己的公网ip上
  4. 申请SSL证书

具体每一步都可以在CSDN上找到很多教程,建议购买域名和云服务器在同一个平台
各个步骤都完成后,在自己的电脑上ping一下你的域名,能ping通(显示公网ip)就没有问题。
在这里插入图片描述

宝塔

宝塔面板是一款服务器管理软件,可以帮你快速搞好uwsgi、nginx等关系,建好一个简单的网站,同时WordPress等网站模板也需要在宝塔面板搭建
(然而,搭建了宝塔面板后,nginx、mysql就不能再另外下载,所以感觉宝塔虽然很好用,但太好用了(学不到知识了。所以最后还是没有用上。。。

(也可能只是我不会兼容
WordPress建站教程(只是因为我用过这个并且搭成功过一次)
WordPress建站教程(其一)

python的虚拟环境

使用pip下载virtualenv

pip3 install --upgrade  --default-timeout=1000 virtualenv -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

创建新环境步骤

mkdir test
cd test
virtual -p python3 【任意名字】

source 【上述名字】/bin/activate
pip3 install --default-timeout=1000 【库名字】 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
deactivate  # 退出当前环境

云服务器安全组设置

出于保护服务器的目的,一般云服务器的各端口不会向外开放,如要在个人电脑上访问某端口,还需要设置安全组,开放该端口
在这里插入图片描述
上图为未开放端口
配置完成后

以华为云为例开放端口

开放端口

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

内网穿透

我也不会!!!


常见问题

uwsgi在Centos7.2下载不下来

解决办法

手动(wget)下载各版本nginx

下载安装Nginx

配置Nginx环境变量

配置Nginx环境变量使每次打开nginx不用跑到nginx的文件夹下面而是直接输入nginx就行

配置环境变量

解决Nginx报错

曾经遇到过的一个报错信息:
nginx: [emerg] the “ssl” parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx

报错解决办法

猜你喜欢

转载自blog.csdn.net/weixin_51772802/article/details/124973817
今日推荐