群晖python套件包_利用群晖Docker安装ubuntu16.04搭建python网站服务器(部署篇)
在帖子《利用群晖Docker安装ubuntu16.04搭建python网站服务器(安装篇)(地址:http://www.cirdown.com:81/thread-185-1-1.html)》中介绍了在群晖docker中如何安装和配置ubuntu容器,那么服务器系统有了,这篇我们就来讲部署篇,因为我是需要把用python+django写的网站“绿化招投标辅助工具www.cirdown.com:8000”挂载到这个容器中,所以,就来看看如何部署python3+django+mysql+nginx+uwsgi的网站服务器。
一、利用ssh登陆ubuntu容器
在安装篇中我们已经把容器安装好了,并且已经准备好了外网访问的条件。为了更方便的通过终端、ssh登陆工具登陆ubuntu容器进行管理,刚开始我们要在ubuntu系统中安装ssh,那么首次我们可以在什么地方登陆该系统呢?
(一)群晖终端机登陆
我们利用群晖内的终端机登陆,具体步骤如下:
打开docker,点选容器(我这里取得名字是ubuntu-16,这个是我挂载www.cirdown.com:8000的,先拿来说明一下),双击右侧已经安装好的ubuntu容器或者点选后点击上面的“详情”也可以
选择终端机
如果您的浏览器出现这种情况,请换一个浏览器试试
正常的话就会出现终端机界面,这时候会发现终端框没有任何显示,那么我们就点击“新增”
新增后,就会出现新的终端“bash”,选择此终端,在右边终端框内就已经登录该容器了
(二)通过命令修改服务器管理员root的初始密码
因为ubuntu-16已经在运行网站www.cirdown.com:8000,所以就不动他了,接下来的步骤我们用同一个映像(1and1internet/ubuntu-16-nginx:latest)安装了一样的容器,取名ubuntu-16-demo,用于给大家演示整个部署过程。
整个安装配置过程和上一篇文章——《利用群晖Docker安装ubuntu16.04搭建python网站服务器(安装篇)》一样,只不过避免端口冲突,网站的服务端口用的8001,ssh的服务端口用的20022对应ubuntu-16-demo的22端口,端口映射方法详见安装篇。
下面就切换到这个容器,接着上一步,我们先修改服务器的登陆密码。
输入命令:passwd root
回车后,输入两次密码确认后显示密码修改成功。
(三)安装ssh
如果安装所有的软件、配置都在群晖内部的终端机内进行,也未尝不可,但是没有使用ssh工具登陆更为方便,所以我们下面安装ssh并尝试通过ssh工具第一次登陆我们的ubuntu服务器。
1、在安装之前,别忘了先更新下源列表(一般国内把源列表换成国内的源更好,但不是本文范畴,有兴趣的去百度一下)
因为本身就是管理员root账户登陆,所以命令前不需要sudo
直接输入命令行:apt-get update
更新结束后就可以安装我们需要的软件了。
2、安装ssh并尝试第一次通过ssh工具登陆服务器
输入安装命令:apt-get install ssh
出现询问是否安装,输入“y”回车,同意
等所有的包都安装好后,检查是否安装并启动
ssh -V #查询ssh版本
service ssh start #启动ssh服务
ps -e |grep ssh #查看ssh进程,有显示内容就说明ssh正在运行了
接下来我们用windows常用的puTTy工具登陆服务器,大家把红框内的地址*.tpddns.cn替换成自己的DDNS动态域名或者ip地址,port端口,上文中提到,演示容器ubuntu-16-demo的22端口我用的是20022对应(关于动态域名和端口映射的详细内容见安装篇),所以填入20022。
点击“open”,如果出现如下图所示,点击“是”,添加白名单
出现登陆提示就成功在即了
然后我们用管理员用户名登陆:root,然后输入我们修改后的密码就可以了
接下来的工作我们就在这个里面进行了
二、安装各软件包
因为我部署的是python+django+mysql的网站程序,nginx+uwsgi的服务模式,所以用到的软件无非就这几种,python3系统自带,我们选的是自带nginx映像,所以我们就只要安装mysql、uwsgi、django就可以了,当然了还包括pip源,如果用到git也要安装git等等了,那就开始吧!
(一)安装mysqlapt-get install python3-pip
apt-get install mysql-server
apt-get install mysql-client
apt-get install libmysql-dev
apt-get install libmysqlclient-dev
apt-get install python3-dev
pip3 install mysqlclient
依次安装以上软件
安装好后启动mysql
service mysql start
(二)建立虚拟环境
为了更好的管理,以及版本的控制,我们使用虚拟环境来建立网站的目录,并在虚拟环境中安装uwsgi、django
python3.5如果没有自带venv虚拟机,那就安装
apt-get install python3-venv
我们在准备好的网站根目录中直接输入命令建立虚拟环境
比如我准备把网站程序都放在/home/www中
在/home/www中输入一下命令
python3 -m venv demo_env
这时候www文件夹内就会出现demo_env,那么现在启用虚拟环境
source demo_env/bin/activate
如果出现下图箭头所指就代表虚拟环境启用成功
如果退出虚拟环境则输入命令:
deactivate
(三)安装django、uwsgipip3 install --upgrade pip #升级pip3
pip3 install django uwsgi #安装
三、nginx、uwsgi配置
实在太长了,nginx和uwsgi的配置可以看看这个《在ubuntu下配置uwscgi+nginx+python网站运行环境》
http://www.cirdown.com:81/article-74-1.html
群晖python套件包_利用群晖Docker安装ubuntu16.04搭建python网站服务器(部署篇)相关推荐
- 群晖 python_利用群晖Docker安装ubuntu16.04搭建python网站服务器(安装篇)
折腾的原因:我目前有两个网站需要挂载,因为为了玩,并不是为了大流量,所以就挂在家里的群晖中.一个是小圈子(www.cirdown.com:81),因为用的是discuz论坛,php的,所以直接用我的黑 ...
- 群晖python套件包_群晖中给Python3安装pip工具以安装扩展包
重要:本文最后更新于2021-02-01 22:34:49,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗. 今天折腾这群晖迷你Linux系统的时候遇到一个问题,Python写的程序基 ...
- appium python 抓包_利用appium自动控制移动设备并抓取数据
利用appium自动控制移动设备并提取数据 学习目标 了解 appium-python-client模块定位元素以及提取其文本内容的方法 了解 appium-python-client模块控制滑动动作 ...
- python sobel算子_利用sobel算子计算图像的梯度(python+opencv)
sobel算子计算的梯度图是带有方向的 代码实现如下: #coding=utf-8 import cv2 import numpy as np #利用sobel算子计算图像的梯度 img=cv2.im ...
- 玩转群晖NAS套件系列二:synology Drive的安装使用保姆级教程!
本章介绍: 上一章节我们讲解<玩转群晖NAS套件系列一:cloud sync套件的安装与使用保姆级教程!>,此教程堪称史上手把手的保姆教程,受到广大网友的一致好评, 今天在这里介绍syno ...
- 玩转群晖NAS套件系列六:Web Station的安装与使用保姆级教程!
本章总结: 上一章节我们讲解<玩转群晖NAS套件系列五:Moments的安装与使用保姆级教程!>,此教程堪称史上手把手的保姆教程,受到广大网友的一致好评. Web Station这个套件是 ...
- python简单编程语言_功能强大而又简单易学的编程语言Python
Python是一种面向对象.直译式计算机程序设计语言,也是一种功能强大的通用型语言(维基百科).自从上次写那个批量Blast小程序的时候接触了Python,发现这个玩意儿真是好用,后来还用它弄了个动态 ...
- 在已安装win10环境中利用EasyBCD引导安装Ubuntu16.04
摘要 教程部分 1.windows硬盘分区 2.EasyBCD设置NeoGrub引导 3.Ubuhtu安装 4. 利用EasyBCD引导Ubuntu启动 参考教程 摘要 一般来说,用u盘引导安装ubu ...
- 在已安装win10环境中利用EasyBCD引导安装Ubuntu16.04 适用于Ubuntu 18.04(DELL笔记本电脑测试通过)
摘要 教程部分 1.windows硬盘分区 2.EasyBCD设置NeoGrub引导 3.Ubuhtu安装 4. 利用EasyBCD引导Ubuntu启动 参考教程 摘要 一般来说,用u盘引导安装ubu ...
最新文章
- Java单元测试之JUnit4详解
- Setup best practices for Agile Scrum in your organization
- ES6标准学习: 4、数组的扩展
- 2019语音技术报告:语音经济规模将超移动应用
- micropython随笔-hello,world
- mfc从文件中读取数据_Python 中的 bytes、str 以及 unicode 区别
- C++基础03-C++对c的拓展-函数
- 聊聊研读论文有哪些经验之谈?
- python 的基础 学习 第六天 基础数据类型的操作方法 字典
- logging 日志表的设计
- ubuntu 安装Pangolin 过程
- cs229 机器学习
- ISP(七) CMOS图像传感器内部结构及工作原理
- 菜鸟渗透日记29---python渗透测试编程之信息收集1-主机发现
- 绝了!一个妹子 rm -rf 把公司整个数据库删没了...
- Hadoop HA集群配置问题记录
- 浏览我的php网页时,出现的都是网页的代码
- php面试 猴子大王,php猴子选大王问题解决方法,猴子大王_PHP教程
- Cocos游戏带你告别光棍节:欢迎对号入座、修成正果!
- 研发(软件,不包含硬件相关)人员绩效考核推荐
热门文章
- 链表之判断一个链表是否为回文结构(一)
- sklearn 线性回归_使用sklearn库做线性回归拟合
- 重磅公开!36个高考数学破题大招
- 为什么女生会有体香?
- 给新手程序员的16个工作必备小妙招,省下时间去LOL吧!
- 按照学号查找学生_[源码和文档分享]基于JAVA和MYSQL数据库的学生成绩管理系统...
- 学生渐进片add如何给_渐进镜片的说明与镜架选择
- asp.net添加删除表格_如何用openpyxl自动化编写Excel电子表格
- 噪声与振动控制工程手册_仨亿技术丨工程机械噪声与控制分析
- sql倒序排列取第一条_从零学会SQL·三——汇总分析