一、云服务器与云主机
1、常用云服务器的选择
2、什么是云服务器?
云服务器(Elastic Compute Service, ECS)是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务。其管理方式比物理服务器更简单高效。用户无需提前购买硬件,即可迅速创建或释放任意多台云服务器。
云服务器帮助我们快速构建更稳定、安全的应用,降低开发运维的难度和整体IT成本。
云服务器的业内名称其实叫做计算单元。所谓计算单元,就是说这个服务器只能算是一个人的大脑,相当于普通电脑的CPU,里面的资源都是有限的。你要获得更好的性能,解决办法一是升级云服务器,二是将其它耗费计算单元资源的软件部署在对应的云服务上。例如数据库有专门的云数据库服务、静态网页和图片有专门的文件存储服务。
而且云服务器不是说就便宜了,相反会比一般的VPS都贵。为什么?因为它相对于来说,扩展比较方便。云服务器是网站做大了、有很高收入的时候一个不错的选择。
云服务器是云计算服务的重要组成部分,是面向各类互联网用户提供综合业务能力的服务平台。平台整合了传统意义上的互联网应用三大核心要素:计算、存储、网络,面向用户提供公用化的互联网基础设施服务。
云服务器服务包括两个核心产品:
面向中小企业用户与高端用户的云服务器租用服务;
面向大中型互联网用户的弹性计算平台服务。
云服务器平台的每个集群节点被部署在互联网的骨干数据中心,可独立提供计算、存储、在线备份、托管、带宽等互联网基础设施服务。
云服务器的优势:
传统服务器业务 | 云服务器租用服务 | |
投入成本 | 高额的综合信息化成本投入 | 按需付费,有效降低综合成本 |
产品性能 | 难以确保获得持续可控的产品性能 | 硬件资源的隔离+独享带宽 |
管理能力 | 日趋复杂的业务管理难度 | 集中化的远程管理平台+多级业务备份 |
扩展能力 | 服务环境缺乏灵活的业务弹性 | 快速的业务部署与配置、规模的弹性扩展能力 |
3、云服器与云共享主机的区别
yum install mariadb-server -y
systemctl start mariadb
systemctl enable mariadb
> grant all privileges on *.* to 'root@%' identified by 'westos';
> flush privileges;
4、Flask+uwsgi+Nginx+Centos部署
yum install git -y
# 项目存放目录, 可自定义。
mkdir -p /data/www/
de /data/www/
git clone https://github.com/lvah/TodoList.git
依赖包安装(配置虚拟环境与安装第三方模块)
source venv/bin/activate
pip install -r requirements.txt
五、UWSGI基础知识与配置启动
1、uWSGI、uwsgi与WSGI
2、uwsgi配置
# 配置文件位置: /data/www/TodoProject/uwsgi.ini
[uwsgi] # 源码目录
chdir = /data/www/TodoProject
# Python虚拟环境 home = /data/www/TodoProject/venv
module = manage
callable = app
master = true processes = 4
# 启动的端口号
http = 0.0.0.0:5000
# socket存放文件
socket = /data/www/logs/todo.sock
chmod-socket = 777
logfile-chmod = 644
buffer-size = 65535
# pid存放文件
pidfile = /data/www/logs/todo.pid
daemonize = /data/www/logs/todo.log
static-map = /static = /data/www/TodoProject/app/static
uwsgi --ini uwsgi.ini
uwsgi --reload /data/www/logs/todo.pid
uwsgi --stop /data/www/logs/todo.pid
六、Nginx
1、什么是Nginx?
2、Nginx安装
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7- 0.el7.ngx.noarch.rpm
yum install nginx -y
3、Nginx常用命令
查看 Nginx 版本
nginx -v
# 检查 Nginx 配置文件是否正确
nginx -t
# 启动 Nginx
systemctl start nginx | nginx
# 停止 Nginx
systemctl stop nginx | nginx -s stop
# 重新加载 Nginx配置
systemctl reload nginx | nginx -s reload
# 重新加载指定配置文件
nginx -c conf.d/todo.conf
4、Nginx配置文件
# 配置虚拟主机
server {
# 监听端口
listen 80 default_server;
# 允许域名
server_name www.todo.com;
# 使用alias路径替换location路径
location /static {
alias /data/www/TodoProject/app/static;
}
location / {
# 使用try_files判断uri是否带有文件名或者目录名,如果没有跳转到其他代理服务器
try_files $uri @todoApp;
}
location @todoApp {
# 包含uwsgi的请求参数
include uwsgi_params;
# 转发请求给uwsgi
uwsgi_pass unix:/data/www/logs/todo.sock;
}
}
5、效果展示