文章目录

  • 配置阿里云安全端口
  • python3.6的安装
  • python优先级的更换
  • pip优先级更换pip
  • python Uwsgi 虚拟环境安装
  • Nginx
    • 安装宝塔面板
  • 搭建web环境

其实我站点已经搭建完毕了,比较懒就忘了写Nginx的后续了。我是属于先买服务器在写网页的那种,请勿模仿。
注意:一定要再阿里云(腾讯云)里面设置安全配置,开放端口号(本文涉及端口号有8888和80和5656)

配置阿里云安全端口



python3.6的安装

下面是在ubuntu16.04下安装python3.6环境
正常安装报错

E: Unable to locate package python3.6-dev
E: Couldn't find any package by glob 'python3.6-dev'
E: Couldn't find any package by regex 'python3.6-dev'

安装python3.6

apt-get install python-software-properties
apt-get install software-properties-common
add-apt-repository ppa:deadsnakes/ppa
apt-get update
apt-get install python3.6

python优先级的更换

ubuntu16.04默认命令python,python2为python2.7,python3为python3.5,修改环境使python对应为python3.6

查看对应python版本

python -V

通过update-alternatives来设置默认python版本, 最后的参数1,2是优先级,数字越大优先级越高,比如经过如下设置后,在终端输入python,显示的就是3.6的版本了

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 2

验证版本

python -V

优先级更换后

命令                                               对应版本
python                                          python3.6
python2  or  python2.7                          python2.7
python3.5                                       python3.5
python3.6                                       python3.6

pip优先级更换pip

ubuntu16.04默认命令pip,pip2为python2.7,pip3为pip3.5,修改环境使pip对应为pip3.6

查看对应python版本

pip -V

为python(python3.6)安装pip

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
hash -r

python Uwsgi 虚拟环境安装

安装virtualenv

pip install virtualenv

安装Uwsgi
安装报错

Command errored out with exit status 1: /usr/bin/python -u -c 'import sys, s

报错原因:是由于pip环境为3.6而使用了apt-get install python-dev命令,默认安装的为python2.7-dev,所以要特殊声明。

安装命令

apt-get install python3.6-dev
pip install uwsgi

Nginx

因为我正常安装Nginx, 出现了各种奇怪的问题, 无法解决, 决定另辟蹊径, 安装宝塔。

安装宝塔面板

Ubuntu16.04 执行以下代码进行安装宝塔面板

wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh


复制对应的命令在putty中执行,然后再输入y即可。(等待安装完成)

注意!安装成功的时候账号密码一定要保存下来。(可以复制写在记事本)不过忘了也没多大事,输入以下命令就可以会弹出安全连接,账号和密码了
注意:一定要再阿里云(腾讯云)里面设置安全配置,开放端口号(本文涉及端口号有8888和80和5656)

/etc/init.d/bt default

复制账号上面的:http://xxx.xxx.xxx.xxx:8888/(这个就是你的IP地址:8888端口)
在浏览器的网址输入,登录到宝塔面板的后台。

解决方案一: 浏览器输入网址处输入安装成功时候的入口地址:IP:8888/安全入口名称(例如我的:http://106.54.43.214:8888/142f9866/)(/14f9866/就是安全入口地址,在安装完成的时候会有这个网址。复制就可以在浏览器登录)

解决方案二:执行下面命令即可(最好不要)。

rm -f /www/server/panel/data/admin_path.pl


6.刷新浏览器页面即可。(IP:8888)(看到该界面就是成功进入宝塔登录界面)


进入后安装Nginx环境(可以选择全安,一定要编译安装)

使用域名添加站点(我开始恶搞以下用的是www.baidu.com,答案很直观,这个域名不是你的没有解析,所以你用不了,然后换成了自己的),再把公网IP加端口号配置进去(你也可以选择直接加公网IP端口号)我的配置的端口号是5656。

安装好了就可以搭建web环境了

搭建web环境

  • 创建虚拟环境
  • 安装flask
  • 安装和配置uwsgi
  • 配置nginx
cd /www/wwwroot/
pip install --upgrade virtualenv
mkdir test
cd test
virtualenv -p python3 .env进入虚拟环境安装flask
source .env/bin/activate
pip install flask
deactivate
  • 写一个简单的测试程序
vi test.py

内容

from flask import Flaskapp = Flask(__name__)@app.route("/helloWorld")
def helloWorld():return "Hello World"if __name__ == '__main__':app.run(host='0.0.0.0', port=8787, debug=True)

创建uwsgi.ini配置文件

vi uwsgi.ini

内容

[uwsgi]
chdir=/www/wwwroot/test # 工程目录
home=/www/wwwroot/test/.env # 虚拟环境目录
module=test  # 启动flask应用的文件名,不用加.py
callable=app # 应用名,与我们hell
master=true
processes=2 # worker的进程个数
chmod-socket=666
logfile-chmod=644
procname-prefix-spaced=test # uwsgi的进程名称前缀,启动后可通过ps -ef | grep test查找到这个进程
py-autoreload=1 #py文件修改,自动加载,也就是设置热启动了
#http=0.0.0.0:8080 #监听端口,测试时使用vacuum=true # 退出uwsgi是否清理中间文件,包含pid、sock和status文件
socket=%(chdir)/uwsgi/uwsgi.sock # socket文件,配置nginx时候使用
stats=%(chdir)/uwsgi/uwsgi.status # status文件,可以查看uwsgi的运行状态
pidfile=%(chdir)/uwsgi/uwsgi.pid # pid文件,通过该文件可以控制uwsgi的重启和停止
daemonize=%(chdir)/uwsgi/uwsgi.log # 设置后台模式,然后将日志输出到uwsgi.log。当调试时,可先注释掉此内容

注意: uwsgi.ini文件中一定不能有中文, 包括注释.

[uwsgi]
chdir=/www/wwwroot/test
home=/www/wwwroot/test/.env
module=test
callable=app
master=true
processes=2
chmod-socket=666
logfile-chmod=644
procname-prefix-spaced=test
py-autoreload=1
#http=0.0.0.0:8080vacuum=true
socket=%(chdir)/uwsgi/uwsgi.sock
stats=%(chdir)/uwsgi/uwsgi.status
pidfile=%(chdir)/uwsgi/uwsgi.pid
daemonize=%(chdir)/uwsgi/uwsgi.log

创建uwsgi的工作环境(只需要创建即可)

mkdir uwsgi
cd uwsgi
vi uwsgi.pid
vi uwsgi.sock
vi uwsgi.status
vi uwsgi.log
  • 常用命令:
uwsgi --ini uwsgi.ini             # 启动
uwsgi --reload uwsgi.pid          # 重启
uwsgi --stop uwsgi.pid            # 关闭
  • 配置nginx关联uwsgi的工作环境
    配置文件地址
location / {include uwsgi_params;uwsgi_pass unix:/www/wwwroot/test/uwsgi/uwsgi.sock;
}
  • 配置nginx资源加载路径
location ^~ /static{root /www/wwwroot/user;
}

关于Nginx的环境,路径及其用法可以参考这篇文章

Nginx静态服务配置

  • 在运行站点前最好先调试flask文件的可执行性
source .env/bin/activate
flask run
deactivate

在放上我的文件结构树

操作完毕开启uwsgi就好了,用添加的站点成功了就可以访问,要加端口号

附上链接
http://www.v-an.top/

python 云服务器 搭建网站(flask+uwsgi+nginx)相关推荐

  1. 使用腾讯云服务器搭建网站

    使用腾讯云服务器搭建网站 云服务器操作 搭建动态网站服务器 云服务器操作 购买腾讯云服务器,并安装centos7系统(详细参考腾讯云服务器操作指南),创建实例: 在云服务器面板中设置安全组:设置入站规 ...

  2. arm搭建云手机教程_教你从0开始部署阿里云服务器,阿里云服务器搭建网站教程...

    教你从0开始部署阿里云服务器,阿里云服务器部署网站的办法,阿里云搭建项目的办法,阿里云服务器搭建网站教程 1.购买 登录官网点击下面链接: 企业上云甄选​partner.aliyun.com 查看云服 ...

  3. 服务器怎么建ip网站,云服务器搭建网站ip

    云服务器搭建网站ip 内容精选 换一换 安装MySQL本文档以"CentOS 6.5 64bit(40GB)"操作系统为例,对应MySQL版本为5.1.73.CentOS 7及以上 ...

  4. 腾讯云Linux云服务器搭建网站

    腾讯云Linux云服务器搭建网站 基本准备及操作 这里的安装过程使用系统自带的yum工具进行安装 安装jdk和java运行环境 安装mysql 安装tomcat 安装httpd服务 部署web项目到服 ...

  5. 阿里云腾讯云华为云服务器搭建网站新手教程

    其实无论阿里云服务器,腾讯云服务器,还是华为云服务器搭建网站的方式基本都是一样的.可能在配置的界面位置稍微有点不同,但是搭建流程都是一样的. 下面库博客将以腾讯云服务器为例,来详细介绍云服务器搭建网站 ...

  6. 云服务器搭建高可用keepalived+nginx+emqx集群

    云服务器搭建高可用keepalived+nginx+emqx集群 一.高可用emqx集群搭建 1 单机搭建emqx 2 配置认证和鉴权插件 3 搭建emqx集群 二.nginx搭建负载均衡 1 ngi ...

  7. python云服务器搭建教程_小白怎么搭建自己的个人博客网站?云服务+WordPress教程...

    前言 2 个月前 pk 哥自己动手搭建个人技术网站,一来为了让自己坚持总结,二来可以等访问量上来了赚点广告费. 为什么要自己买服务器搭建网站呢?其实现在有很多自媒体平台都可以写文章.但是这些平台基本都 ...

  8. 【django云服务器部署】django+uwsgi+nginx 部署的完整流程

    本篇博客完整地记录了我从购买服务器到完成部署的全过程,需要的朋友可以参考一下我的流程,看这一篇文章就能成功部署项目啦. 写这个的本意是为备忘( 保姆级步骤),同时由于我在最开始部署项目时,没有找到一个 ...

  9. 购买阿里云服务器搭建网站或个人博客详细教程

    文章原文见博客:https://www.wkeyu.cn/159.html 前期准备 一.购买阿里云服务器 注册登录阿里云 选择你需要购买的服务器产品,如果首次购买建议选择新用户专享.因为只有首购才有 ...

最新文章

  1. Spring5:@Autowired注解、@Resource注解和@Service注解
  2. 服务器智能监控软件,监控 监控系统 消防智能监控 智能监控软件
  3. 常见的和端口,IP相关的企业面试题
  4. 【练习】ViewPager标签滑动
  5. Python递归实现快速排序
  6. android项目中导入opencv库,将第二个JNI库包含到我的Android项目(OpenCV)后...
  7. 烦人的幻灯片(信息学奥赛一本通-T1395)
  8. JUC强大的三个辅助类
  9. 单机装两个mysql_单机环境下安装多个MySQL服务器
  10. 【英语学习】【加州教材】【G2】【科学】Science目录及术语表
  11. 两个一元多项式求和(新)(C语言)
  12. c语言 recv_sin,C++_C语言中经socket接收数据的相关函数详解,recv()函数: 头文件:#incl - phpStudy...
  13. 泛函分析 04.04 有界线性算子 - 开映射定理与逆算子定理
  14. JQ使div动态拉伸,width
  15. linux iptable命令用法
  16. 随机效应估算与固定效应估算_固定效应模型及估计原理说明.doc
  17. GM(1,1)预测模型的残差检验、关联度检验、后验差检验代码
  18. 天池精准医疗大赛——人工智能辅助糖尿病遗传风险预测
  19. hdu1002 a+bII 大数相加
  20. 产品经理Axture高保真原型设计

热门文章

  1. 基于Arduino IDE开发的ESP8266(ESP-12F)项目2 ——按键操作
  2. 虚拟化技术 — QEMU-KVM 基于内核的虚拟机
  3. 【第三步】了解关于CSDN开通VIP后的权益说明
  4. 推荐一个制作炫酷 PPT 的在线工具
  5. 【Vue】学习笔记-数据交互
  6. 乔哈里资讯窗(转载)
  7. 零基础语法入门第八讲 实意动词的否定/提问/回答
  8. 机器人离线编程画圆误差解决方案_机器人离线编程的误差来源分析与消除办法...
  9. uboot显示logo的方式
  10. 淮北师范大学计算机学院王春,闫格