准备工作

使用xftp将项目传到linux



将knight 传到linux上

将项目的数据导出

mysqldum  -uroot -p --all-database   >   alldb.dump

在windows的cmd中执行上面命令导出mysql所有数据库的数据

然后将alldb.dump用xftp传到opt目录下

导入数据:

mysql  -uroot -p  < alldb.dump

记得远程连接授权:

创建一个knight虚拟环境

mkvirtualenv knight

在虚拟环境下运行下项目

尝试云行下

发现缺少模块。

解决步骤:

pip3 install django==1.11.16
pip3 install pymysql
pip3 install django-multiselectfield

将项目的settings.py中参数改以下:



记得还需改变连接数据库的账号密码等信息

启动:



centos+django的项目部署就完成了

使用uwsgi

使用uwsgi.ini配置文件去启动项目,这个文件自己去创建即可,放哪都可以
(knight) [root@qishione knight]# cat uwsgi.ini
[uwsgi]
# Django-related settings
# the base directory (full path)
#写上项目的绝对路径
chdir= /opt/knight
# Django's wsgi file #填写找到django的wsgi文件,填写相对路径,以chdir参数为相对路径
module= knight.wsgi
# the virtualenv (full path)
#填写虚拟环境的绝对路径
home= /root/Envs/knight/
# process-related settings
# master
#启动uwsgi主进程
master= true
# maximum number of worker processes
processes= 5 #如果你使用了nginx,做反向代理,必须填写socket链接,而不是http参数
# the socket (use the full path to be safe
#socket= 0.0.0.0:8000 #如果你不用nginx,直接使用uwsgi,运行一个http服务端,就用这个http参数
http = 0.0.0.0:8000
# ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum= true 指定配置文件去启动uwsgi
uwsgi --ini uwsgi.ini

/opt/mydjangoproject/knight

启动你会发现静态文件不生效了

使用nginx反向代理

1.设置django的静态文件目录,收集一下
修改knight/settings.py ,写入如下参数
STATIC_ROOT= '/opt/static'
2.使用命令收集django的静态文件
python3 manage.py collectstatic
3.查看django的静态文件收集目录
ls /opt/static 4.配置nginx,反向代理,找到uwsgi项目,且配置nginx处理uwsgi的静态文件
nginx.conf 修改配置如下 server {
listen 80;
server_name qishijd.com;
#只要用户访问qishijd.com:80/ 就走这个location匹配>,反向代理给uwsgi:
location / {
include uwsgi_params;
uwsgi_pass 0.0.0.0:8000;
}
#当用户请求是qishijd.com/static/的时候
#就会进入这个location匹配
#通过alias参数进行路径别名,让nginx去/opt/static底下去找静>态资源
location /static {
alias /opt/static;
}
}

记得改这里!!

10. 公司会用一个进程管理工具,去启动,管理多个项目,supervisor

本来我们是用命令启动管理项目,

现在讲这些命令,写入到supervisor,通过superviosr去启动管理这些命令

使用python2的模块管理工具,去下载supervisor ,注意此时,退出虚拟环境
使用python2的模块管理工具,去下载supervisor ,注意此时,退出虚拟环境
使用python2的模块管理工具,去下载supervisor ,注意此时,退出虚拟环境
使用python2的模块管理工具,去下载supervisor ,注意此时,退出虚拟环境
使用python2的模块管理工具,去下载supervisor ,注意此时,退出虚拟环境 安装supervisor
yum install python-setuptools
#安装
easy_install supervisor 2.使用supervisor命令,生成配置文件
echo_supervisord_conf > /etc/supervisor.conf 3.在这个配置文件中,写入我们想要管理的任务
vim /etc/supervisor.conf
在最底行写入如下配置
#定义一个任务,名字自定义
#commnad=参数,定义我们启动项目的命令
[program:crm_knight]
command=/root/Envs/knight/bin/uwsgi /opt/knight/uwsgi.ini
stopasgroup=true ;默认为false,进程被杀死时,是否向这个
进程组发送stop信号,包括子进程
killasgroup=true ;默认为false,向进程组发送kill信号,包括子进程 4.通过配置文件启动supervisor服务
supervisord -c /etc/supervisor.conf 5.启动了supervisor服务端后,管理任务
supervisorctl -c /etc/supervisor.conf 任务管理命令如下:有两种,一个是交互式,一个是参数形式
#参数形式 supervisorctl -c /etc/supervisor.conf stop/start/restart all
supervisorctl -c /etc/supervisor.conf start crm_knight #交互式形式
supervisorctl -c /etc/supervisor.conf

部署crm项目的更多相关文章

  1. Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx)

    Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx) 一丶集群和Nginx反向代理 ...

  2. django环境部署 crm和路飞学城

    环境依赖 yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-de ...

  3. 部署knight项目

    发布CRM你将使用以下软件 nginx uWSGI CentOS7 CRM项目文件 virtualenv supervisor WSGI.uWSGI python web服务器开发使用WSGI协议(W ...

  4. MyEclipse部署web项目到Tomcat出现An internal error occurred during: "Launching on Tomcat 7.x"的问题

    如果出现了上述的错误按照如下的3个步骤解决:1.首先关闭MyEclipse工作空间.2.然后删除工作空间下的文件."MyEclipse10\workspace.metadata.plugin ...

  5. Tomcat部署web项目,如何直接通过域名访问,不加项目名称

    问题:下面的问题是互联网上问得比较多的,但是显然都是同一个问题. JavaWeb项目部署到tomcat服务之后设置不需要输入项目名称即可访问? Tomcat部署web项目,如何直接通过域名访问,不加项 ...

  6. mac osx 上面部署Django项目 apache+mysql+mod_wsgi

    1.安装Xcode command line tools 首先,编译mysql和Homebrew需要用到Xcode command line tools,所以首先安装command line tool ...

  7. 在IIS下部署Thinkphp项目,验证码不能显示的解决办法

    由于公司租用的是虚拟空间,而且用的是IIS服务器,所以部署PHP的时候就出现很多问题:比如昨天就碰到这个问题:在IIS下部署Thinkphp项目,验证码不能显示 这是生成验证码的方法: // 制作专门 ...

  8. 某CRM项目招投标工作的感悟

    最近参与了某公司的CRM项目招标工作, 由于此项目涉及到的二级单位比较多,以及项目金额比较大,所以此招标工作从准备到宣布中标一直持续了大概3个月时间,中间过程发生了一些颇有意思的事情,因为保密的原因无 ...

  9. Jenkins自动部署Tomcat项目

    Jenkins自动部署Tomcat项目 1.安装jenkins 插件 启动Jenkins,进入系统管理-插件管理: 选择Deploy to container Plugin 插件安装:

随机推荐

  1. 网盘直链工具 winform版 V1.0

    软件需要.net2.0支持 win7及以上版本用户无需安装 xp用户需要安装 支持网盘:好盘 坚果云 百度云 乐视云 华为网盘 微云 新浪网盘 126disk 速度盘 乐齐盘 天空网盘 千脑网盘 可乐 ...

  2. jdk1.8之线程中断

    在Core Java中有这样一句话:"没有任何语言方面的需求要求一个被中断的程序应该终止.中断一个线程只是为了引起该线程的注意,被中断线程可以决定如何应对中断 " 线程中断不会使线 ...

  3. 我去年码了个表(WPF MvvM)

    又快个把月没写博客了(最近忙着学JAVA去了,都是被逼的/(ㄒoㄒ)/~~),然后用WPF码了个表,其实想加上那种提醒功能什么的,额,就这样了吧,主要是感受一下数据驱动的思想. 效果如下: 前端XAM ...

  4. BZOJ1969 航线规划

    给定一个无向图,每次删除一条边,求每次有多少关键边.一条边是关键边,当且仅当从1到n的所有路径都包含这条边.所有时刻图都联通. 考虑倒着做.相当于给一棵树,每次加一条边,这样树上这条边的两个端点间的路 ...

  5. UVA 10820 欧拉函数模板题

    这道题就是一道简单的欧拉函数模板题,需要注意的是,当(1,1)时只有一个,其他的都有一对.应该对欧拉函数做预处理,显然不会超时. #include<iostream> #include&l ...

  6. 环同态p64推论

    1.为什么属于f(x)∈f(I),那么 2.为什么x属于ker,那么f(x)属于f(I)?

  7. Python之参数类型、变量

    一.参数类型 (一)形参与实参 要使用局部变量时,只能通过return的方式返回 def my(name): #函数体 return name my('lrx') #name是形参,lrx是实参 不写 ...

  8. Windows激活

    最近重新安装了一下系统,我的系统是Windows10.这就出现了一个问题,如果是Windows7系统的话,可以使用网上的破解工具进行破解操作,使之成为永久破解版.但是Windows10系统,网上对于它 ...

  9. 4 Past progressive VS simple past

    1 一般过去时用来谈论过去开始和结束的活动.过去进行时用来谈论过去正在进行或者发生的活动. Why were you at office so later yesterday? I was worki ...

  10. Day 3-4 函数进阶

    1.名称空间 定义:Python使用叫做命名空间的东西来记录变量的轨迹.命名空间是一个 字典(dictionary) ,它的键就是变量名,它的值就是那些变量的值.是存放变量和值的内存地址的绑定关系的空 ...