在帖子《利用群晖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等等了,那就开始吧!
(一)安装mysql
-
apt-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、uwsgi
-
pip3 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
原文链接:https://www.bilibili.com/read/cv3235105/