@
前提
- 自己搭建了一个简单的flask微信公众号
- 在github上找到一个django搭建的博客网站
- 有一个阿里云的服务器
- 有一个已经实名认证的域名
需求:同时运行两个程序,并使用同一个域名来关联,以下都是自己的理解,很多有纰漏
1.Git相关
在githhub上的公有仓库上传私人文件(配置相关)不方便,gitee(码云)有免费建立私有的仓库权限。故使用码云,码云可以关联github的账号,一键导入自己建立的工程
在阿里云服务器上clone我的本地代码
先把当前代码同步到github上,然后再从gitee上同步github的工程。
1.使用ssh克隆微信公众号的代码
git clone git@....
使用ssh克隆的时候,必须把主机的公钥放在远程仓库(github,gitee)的设置中,使用http则不用,因为使用ssh克隆的时候可以将当前主机的版本库push到远程仓库
2.将配置文件加入,并追踪,因为在github上这些配置文件被忽略上传的。也就是说放在.gtignore中,将这里的忽略文件中相关代码行删除
git add conf
3.提交到本机的版本库
git commit -m "addconf"
4.将版本库的push到gitee远程私人仓库
git push origin master
上述都是在win中运行的,因为配置文件在win中,修改也方便
然后再使用同样的方法,clone到阿里云服务器linux中
这里没有使用其他分支,都是使用的master分支,因为在追踪远程分支的时候,系统提示远程分支与本地分支名字要相同,不知道是不是输错了命令,在切换到master分支merge其他分支的代码后再追踪就不会出错了
2.环境相关
django博客运行需要redis,mysql
在linux安装和运行都十分的麻烦,虽然这个项目有docker,但是在更改nginx的配置文件的时候总是不对,所以干脆自己搭环境
redis安装就按照菜鸟教程一步步来就完事
mysql安装也是学习的菜鸟教程,但是设置要设置登录名,新建数据库等
然后再项目的setting中相应的配置好就完事
3.nginx相关
nginx不懂,看的菜鸟教程,我的需求使用同一个域名的不同二级域名去匹配同一个主机运行的不同端口,在我的项目中flask写的9999端口,django使用得9977端口,在nginx.conf中配置以下可以成功运行,但是博客无法加载静态文件,考虑在匹配的时候没有匹配静态文件路径,留个坑,以后填,配置文件的主要如下
server {
listen 80;
server_name hehe.bothsavage.club;
location = /hehe {
proxy_pass http://127.0.0.1:9999;
}
}
server {
listen 80;
server_name www.bothsavage.club;
location = / {
proxy_pass http://127.0.0.1:9977;
}
}
实现了当两个网站的同时运行
4.linux相关
安装环境有些许麻烦
在linux不懂虚拟环境
不同yum,apt-get的用处
不懂文件下载放在哪里的,不懂环境变量(win中的叫法)等
不懂ps aux显示的东西
在django,flask,redis运行的时候都无法继续输入命令
使用screen程序,解决这个问题
1.打开redis
#新建了一个叫reids的窗口并进入
screen -S redis
#现在已经是这个窗口了,找到redis-server并运行
./redis-server
2.Ctrl a +d退出redis窗口,回到主窗口
#新建了一个叫flask的窗口并进入
screen -S flask
python run.py
3.Ctrl a +d退出flask窗口,回到主窗口
#新建了一个叫django的窗口并进入
screen -S flask
python manage.py runserver 9977
关于作者
个人博客网站
个人GitHub地址
个人公众号: