python 云服务器 搭建网站(flask+uwsgi+nginx)
文章目录
- 配置阿里云安全端口
- 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)相关推荐
- 使用腾讯云服务器搭建网站
使用腾讯云服务器搭建网站 云服务器操作 搭建动态网站服务器 云服务器操作 购买腾讯云服务器,并安装centos7系统(详细参考腾讯云服务器操作指南),创建实例: 在云服务器面板中设置安全组:设置入站规 ...
- arm搭建云手机教程_教你从0开始部署阿里云服务器,阿里云服务器搭建网站教程...
教你从0开始部署阿里云服务器,阿里云服务器部署网站的办法,阿里云搭建项目的办法,阿里云服务器搭建网站教程 1.购买 登录官网点击下面链接: 企业上云甄选partner.aliyun.com 查看云服 ...
- 服务器怎么建ip网站,云服务器搭建网站ip
云服务器搭建网站ip 内容精选 换一换 安装MySQL本文档以"CentOS 6.5 64bit(40GB)"操作系统为例,对应MySQL版本为5.1.73.CentOS 7及以上 ...
- 腾讯云Linux云服务器搭建网站
腾讯云Linux云服务器搭建网站 基本准备及操作 这里的安装过程使用系统自带的yum工具进行安装 安装jdk和java运行环境 安装mysql 安装tomcat 安装httpd服务 部署web项目到服 ...
- 阿里云腾讯云华为云服务器搭建网站新手教程
其实无论阿里云服务器,腾讯云服务器,还是华为云服务器搭建网站的方式基本都是一样的.可能在配置的界面位置稍微有点不同,但是搭建流程都是一样的. 下面库博客将以腾讯云服务器为例,来详细介绍云服务器搭建网站 ...
- 云服务器搭建高可用keepalived+nginx+emqx集群
云服务器搭建高可用keepalived+nginx+emqx集群 一.高可用emqx集群搭建 1 单机搭建emqx 2 配置认证和鉴权插件 3 搭建emqx集群 二.nginx搭建负载均衡 1 ngi ...
- python云服务器搭建教程_小白怎么搭建自己的个人博客网站?云服务+WordPress教程...
前言 2 个月前 pk 哥自己动手搭建个人技术网站,一来为了让自己坚持总结,二来可以等访问量上来了赚点广告费. 为什么要自己买服务器搭建网站呢?其实现在有很多自媒体平台都可以写文章.但是这些平台基本都 ...
- 【django云服务器部署】django+uwsgi+nginx 部署的完整流程
本篇博客完整地记录了我从购买服务器到完成部署的全过程,需要的朋友可以参考一下我的流程,看这一篇文章就能成功部署项目啦. 写这个的本意是为备忘( 保姆级步骤),同时由于我在最开始部署项目时,没有找到一个 ...
- 购买阿里云服务器搭建网站或个人博客详细教程
文章原文见博客:https://www.wkeyu.cn/159.html 前期准备 一.购买阿里云服务器 注册登录阿里云 选择你需要购买的服务器产品,如果首次购买建议选择新用户专享.因为只有首购才有 ...
最新文章
- Spring5:@Autowired注解、@Resource注解和@Service注解
- 服务器智能监控软件,监控 监控系统 消防智能监控 智能监控软件
- 常见的和端口,IP相关的企业面试题
- 【练习】ViewPager标签滑动
- Python递归实现快速排序
- android项目中导入opencv库,将第二个JNI库包含到我的Android项目(OpenCV)后...
- 烦人的幻灯片(信息学奥赛一本通-T1395)
- JUC强大的三个辅助类
- 单机装两个mysql_单机环境下安装多个MySQL服务器
- 【英语学习】【加州教材】【G2】【科学】Science目录及术语表
- 两个一元多项式求和(新)(C语言)
- c语言 recv_sin,C++_C语言中经socket接收数据的相关函数详解,recv()函数:
头文件:#incl - phpStudy...
- 泛函分析 04.04 有界线性算子 - 开映射定理与逆算子定理
- JQ使div动态拉伸,width
- linux iptable命令用法
- 随机效应估算与固定效应估算_固定效应模型及估计原理说明.doc
- GM(1,1)预测模型的残差检验、关联度检验、后验差检验代码
- 天池精准医疗大赛——人工智能辅助糖尿病遗传风险预测
- hdu1002 a+bII 大数相加
- 产品经理Axture高保真原型设计