Linux服务器端离线安装nginx+uwsgi+flask环境

硬件环境

操作系统:Linux Ubuntu 16.04.12

~$ cat /proc/version
Linux version 4.15.0-72-generic (buildd@lcy01-amd64-023) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12)) #81~16.04.1-Ubuntu SMP Tue Nov 26 16:34:21 UTC 2019

硬件:本地服务器 

python版本:python 3.6.4

nginx安装

nginx安装包下载

nginx:http://nginx.org/download/

根据需要选择一个安装包版本下载,我这里下载的是 nginx-1.10.3.tar.gz

安装nginx(注意使用root用户安装)

上传到服务器 /usr/local 文件夹下解压

su // 输入密码,使用root用户安装
cd /usr/local  //进入local目录
# wget http://nginx.org/download/nginx-1.10.3.tar.gz  // 如果联网可指定版本在线安装
tar -zxvf nginx-1.10.3.tar.gz //解压缩
# apt-get install libpcre3 libpcre3-dev zlib1g-dev // 如果联网安装依赖库,否则下载相关依赖包离线安装,由于服务器已安装这些包,此处不赘述
cd nginx-1.10.3
./configure
make
make install

以下为正确安装的命令行结果显示: 

./configure

 Linux服务器端离线安装nginx+uwsgi+flask环境_第1张图片

make

 Linux服务器端离线安装nginx+uwsgi+flask环境_第2张图片

make install

 Linux服务器端离线安装nginx+uwsgi+flask环境_第3张图片

 以上安装结束。

启动nginx

先检测nginx的配置是否正确

/usr/local/nginx/sbin/nginx -t

 

结果显示如上图所示,表明nignx配置正确,可以启动。

cd /usr/local/nginx/sbin
./nginx

 没有日志输出 ,说明启动正常, 如果出现异常请参考配置时提示的错误日志路径,查看错误信息

查看nginx进程

ps -ef | grep nginx

nginx默认配置启动成功后,会有两个进程,一个主进程(守护进程),一个工作进程。主进程负责管理工作进程,工作进程负责处理用户的http请求。 

查看80端口进程

netstat -tlnp |grep 80

访问nginx

默认端口就是80,如果服务器是界面版,可以浏览器直接输入ip访问  0.0.0.0:80

Linux服务器端离线安装nginx+uwsgi+flask环境_第4张图片

如果服务器是命令行版,可以使用curl命令访问

curl 0.0.0.0:80

Linux服务器端离线安装nginx+uwsgi+flask环境_第5张图片

结果显示Welcome to nginx! 表明nginx启动成功可访问。 

参考文档

  • Ubuntu下Nginx安装
  • linux离线安装nginx
  • ubuntu16.04 离线安装nginx
  • Linux下源码安装并配置Nginx

uwsgi安装

uwsgi安装包下载

官网下载页 https://uwsgi-docs.readthedocs.io/en/latest/Download.html  选择版本下载

如果打开网速较慢,可以尝试此链接,最后的版本号根据自己需求修改并建立下载任务,此处我选择的是2.0.18的版本,所以链接地址是  https://projects.unbit.it/downloads/uwsgi-2.0.18.tar.gz

解压安装(注意使用root用户安装)

将下载好的安装包上传到服务器 /usr/local 文件夹下

cd /usr/local        # 进入安装目录
tar zxvf uwsgi-2.0.18.tar.gz    # 解压文件夹
cd uwsgi-2.0.18
make

 Linux服务器端离线安装nginx+uwsgi+flask环境_第6张图片

测试 WSGI 应用

从一个简单的 "Hello World" 开始,在某一文件夹 /home/user/pyproject 创建文件 foobar.py,代码如下:

def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return [b"Hello World"]

uWSGI Python 加载器将会搜索的默认函数 application 。

接下来我们启动 uWSGI 来运行一个 HTTP 服务器,将程序部署在HTTP端口 9090 上(使用 user用户启动uwsgi):

su user  # 切换user用户启动
/usr/local/uwsgi-2.0.18/uwsgi --http :9090 --wsgi-file /home/user/pyproject/foobar.py

Linux服务器端离线安装nginx+uwsgi+flask环境_第7张图片

curl 0.0.0.0:9090

输出 Hello World,uwsgi正确安装。

uwsgi 配置文件

增加uwsgi配置文件,直接运行配置文件,就不用每次命令行写入参数

 

参考文档

  • Python--Ubuntu系统下源码安装uWSGI和配置
  • Python uWSGI 安装配置 | 菜鸟教程
  • Linux下uwsgi服务器配置及重启

 

flask安装

参考文档

  • Flask教程
  • ubuntu+nginx+uWSGI FLASK项目部署
  • DL/ML 模型如何部署到生产环境中?

你可能感兴趣的:(机器学习,软件使用&安装&卸载)