django使用pycharm推送代码

pycharm支持一键将代码推送到生产或测试服务器,这里演示一下

一、服务器准备

centos7

yum update -y

yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel  python3-devel

安装python3

cd /usr/local
wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz
tar -zxvf Python-3.6.6.tgz
cd Python-3.6.6
./configure --prefix=/usr/local/python3
make
make install
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3

 升级pip

pip3 install --upgrade pip

二、推送代码

一种方式是直接压缩解压到服务器

第二种就是pycharm推送,这里演示第二种

pycharm需要专业版

 

配置完成后点击 Upload to 即可自动上传,包括后续代码修改也可以一键同步修改

注意:如果Upload to等按钮为灰色,可能远端服务器无法连接,或者点一下红色标记的按钮即可,具体为啥我也不知。。。

 

安装程序所需模块

cd /home/dell/cmdb/

pip3 install -r requirements.txt

安装完成后可以使用 pip3 list 查看到已经安装的模块,如果安装期间出现问题,如某个模块安装失败,可以在文件中注释掉,单独安装解决

安装完成后启动服务

python3 manage.py runserver 0.0.0.0:8000 &

0.0.0.0:8000 表示所有ip均可以访问此服务

说是还得配置uwsgi,我觉得没啥必要,,,但还是安装了,安装后也没用到

ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
vim django.xml
<uwsgi>
   <socket>127.0.0.1:8000</socket> <!-- 内部端口,自定义 -->
   <chdir>/home/dell/cmdb/</chdir> <!-- 项目路径 -->
   <module>wecode_cmdb.wsgi</module>  <!-- untitled3为wsgi.py所在目录名-->
   <processes>2</processes> <!-- 进程数 -->
   <daemonize>uwsgi.log</daemonize> <!-- 日志文件 -->
</uwsgi>

然后配置nginx

cat /etc/nginx/default.d/cmdb.conf

server {
    listen 80;
    server_name  cmdb.codeus.vip; #改为自己的域名,没域名修改为127.0.0.1:80
    charset utf-8;
    location / {
       include uwsgi_params;
       uwsgi_pass 127.0.0.1:8000;  #端口要和uwsgi里配置的一样
       uwsgi_param UWSGI_SCRIPT wecode_cmdb.wsgi;  #wsgi.py所在的目录名+.wsgi
       uwsgi_param UWSGI_CHDIR /home/dell/cmdb/; #项目路径
    }
}

最后我绑定hosts访问域名,结果访问不到,,,域名+8000端口可以访问到,不管了,我觉得可以用nginx直接代理,先这样。

访问的时候报错

django1.8

'WSGIRequest' object has no attribute 'session'

找了半天原因说是django版本问题,我看了pycharm的版本是1.11.29,但是服务器上的是1.8

安装1.11.29

pip3 install Django==1.11.29

报错:

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.

django-cms 3.1.3 requires Django<1.9,>=1.6.9, but you have django 1.11.29 which is incompatible.

这是因为有个模块需要1.8版本django

卸载它

pip3 uninstall django-cms

再次安装1.11.29版本,访问正常

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值