IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> nginx+uwsgi+flask在linux服务器上部署 -> 正文阅读

[系统运维]nginx+uwsgi+flask在linux服务器上部署

1、nginx的安装

1.1、下载

官网地址:nginx.org/en/download.h

Nginx官网提供了三个类型的版本
Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发版
Stable version:最新稳定版,生产环境上建议使用的版本
Legacy versions:遗留的老版本的稳定版

?

?这里我以linux环境为例,咱们下载Stable version

?

1.2、安装需要的环境

1.需要安装gcc环境

centos版本:

# yum install gcc-c++

?ubuntu版本:?ununtu版本的将yum换成 apt-get即可,例

apt-get install gcc-c++

2 zlib

zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。

yum install -y zlib zlib-devel

3 openssl

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,

并提供丰富的应用程序供测试或其它目的使用。

nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。

yum install -y openssl openssl-devel

1.3、安装过程

由于在服务器上安装可能会有网络问题,所以我们现在本机下载好,通过xftp上传到服务器上,下面我们先下载俩个工具

1.3.1、XShell和XFTP的安装

Xshell是一款远程连接linux服务器的软件,下载地址:

家庭/学校免费 - NetSarang Website (xshell.com)

?

?然后去邮箱查看下载地址,点击下载,

?点击即可下载,不要安装在c盘,其他默认配置即可。

好现在我们正式开始操作:

打开XFTP:

好的连接成功,首先我们先创建一个文件夹放置安装包,双击进入文件夹

?把刚才下载的nginx文件直接CTRL+C、CTRL+V复制到上面创建的那个文件夹

?然后打开XShell,

?连接成功后,进入刚才我们创建的文件夹,

cd /mypath

如果不记得文件名字可以输入

ls

?开始解压

tar zxvf nginx-1.22.0.tar.gz

编译和安装

cd /nginx-1.22.0
./configure
make && make install

安装成功的话会在/usr/local/下出现一个新的目录?nginx,根据需要修改此目录下的配置。

启动

cd /usr/local/nginx/sbin

./nginx

查看是否启动

ps -aux | grep nginx

补充

systemctl start nginx//启动nginx
systemctl restart nginx//重启nginx
systemctl stop nginx//关闭nginx

2、Uwsgi的安装

2.1、uwsgi安装

直接使用pip管理安装(如果没有下载python,可以自己下载,这里不介绍)

pip3 install uWSGI

2.2、uwsgi的配置

将你的flask项目导入服务器,进入文件夹,在app.py的同级目录下创建uwsgi.ini文件

?右键使用记事本打开,并写入下面这段代码:

[uwsgi]
socket=127.0.0.1:5000    #  启动程序时所使用的地址和端口,通常在本地运行flask项目,
chdir = /home/flaskproject/          #  项目目录
wsgi-file = app.py     # flask程序的启动文件,通常在本地是通过运行  python manage.py         runserver 来启动项目的
callable = app      	   #  这个是程序内为flask.FLASK赋值的变量名,一般命名为app
processes = 4     	   #  处理器个数,进程个数
threads = 2     	   #  线程个数
stats = 127.0.0.1:9191     #  获取uwsgi统计信息的服务地址
pidfile = uwsgi.pid        #  保存pid信息,方便停止服务和重启的时候用
daemonize=flaskweb.log  #  后台运行时记录uwsgi的运行日志
lazy-apps = true             #  当需要连接cassandra时,uwsgi无法启动服务,可以使用该选项设置
master-fifo = /opt/mt-search/web-service/mfifo   # 使用chain-reloading 逐个work重启,服务不中断, 命令是 echo c > mfifo
touch-chain-reload = true

详细配置可参考下面这篇文章:

uWSGI的安装及配置详解 - 知乎 (zhihu.com)

3、nginx与uwsgi进行通信

第2步我们队uwsgi进行了配置,但是不能进行访问,所以我们需要让nginx和uwsgi进行通信,一般选用socket进行通信,还有几种情况这里就不一一介绍了,可以参考上面那篇文章。

3.1、nginx的配置

进入/usr/local/nginx/conf文件夹,一般都在这个文件夹,找到nginx.conf文件

?打开,编辑,找到http下面的server,默认端口为80,这里我们为了不混淆,所以我们自己创建一个server

 server {
        listen       8888;
        server_name  localhost;

        location / {
            include /usr/local/nginx/conf/uwsgi_params;
            uwsgi_pass  127.0.0.1:5000;
       }
    }

其中listen是访问uwsgi的端口,可以自行选择,include和uwsgi_pass都是固定参数,

include为运行uwsgi时自动产生的一个文件,默认路径为/usr/local/nginx/conf/uwsgi_params

uwsgi_pass 为之前设置的socket端口对应的端口,需要保持一致保存重启nginx

启动uwsgi

uwsgi --ini uwsgi.ini             // 启动
uwsgi --reload uwsgi.pid   // 重启

到此我们可以访问http://+服务器ip+:8888(端口号)来访问后端

4、问题发现

4.1、安装nginx后访问不到欢迎界面

解决方法

4.2、配置完成后无法访问后端

可以查看uwsgi的chdir参数,看是不是路径写错了,写路径时要用绝对路径,不要带/root。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-09-13 11:56:34  更:2022-09-13 11:56:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 20:00:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计