首页>>后端>>Python->django怎么在服务器执行命令(将django部署到linux服务器)

django怎么在服务器执行命令(将django部署到linux服务器)

时间:2023-12-01 本站 点击:0

本篇文章首席CTO笔记来给大家介绍有关django怎么在服务器执行命令以及将django部署到linux服务器的相关内容,希望对大家有所帮助,一起来看看吧。

本文目录一览:

1、有个django框架的项目,想在它自带的服务器下运行,试了其他cmd下建的可以,这个不行,启动不开服务,2、如何在django中使用ansible-playbook命令执行yaml 文件3、怎样搭建Django服务器环境4、如何把django写成service启动5、怎么在django里面执行sql语句

有个django框架的项目,想在它自带的服务器下运行,试了其他cmd下建的可以,这个不行,启动不开服务,

django自带的服务器外网是不能访问的。要支持外网就得配置apache,去网上查一下,我也在弄,你如果弄好了给我说下。

如何在django中使用ansible-playbook命令执行yaml 文件

一、安装

1、安装第三方epel源

centos 5的epel

rpm -ivh

rpm -ivh

17:01:30 # cat /etc/issue

CentOS release 6.5 (Final)

Kernel \r on an \m

由于是6版本所以安装6的epel

yum install ansible

如果需要自定义module或者想阅读源码、使用最新版本,可以去github里下载源码

git clone

17:22:08 # cd /etc/ansible/

root@ip-10-10-10-10:/etc/ansible

17:23:27 # ll

total 12

-rw-r--r-- 1 root root 5113 Dec 29 03:00 ansible.cfg

-rw-r--r-- 1 root root 965 Dec 29 03:00 hosts

其中ansible.cfg是配置文件,hosts是管理主机信息

17:24:44 # cat hosts

172.17.0.2:49154

172.17.0.4:49155

[zabbix]

172.17.0.2:49154

172.17.0.4:49155

[vpn]

172.17.0.10

16:20:57 # ansible 127* -m ping

SSH password:

127.0.0.1 | success {

"changed": false,

"ping": "pong"

}

root@ip-10-10-10-10:/etc/ansible

16:21:05 # ansible 172* -m ping

SSH password:

172.17.0.5 | success {

"changed": false,

"ping": "pong"

}

172.17.0.4 | success {

"changed": false,

"ping": "pong"

}

172.17.0.2 | success {

"changed": false,

"ping": "pong"

}

如果你有多台服务器的话,想并发运行,可以使用-f参数,默认是并发5

11:30:35 # ansible vpn -m shell -a "echo $TERM" -u test --private-key=denglei -K

SSH password:

sudo password [defaults to SSH password]:

172.17.0.10 | success | rc=0

xterm

11:30:44 # ansible vpn -m copy -a "src=/tmp/server dest=/tmp/server" -u test --private-key=denglei -K

SSH password:

sudo password [defaults to SSH password]:

172.17.0.10 | success {

"changed": true,

"dest": "/tmp/server",

"gid": 505,

"group": "test",

"md5sum": "e8b32bc4d7b564ac6075a1418ad8841e",

"mode": "0664",

"owner": "test",

"size": 7,

"src": "/home/test/.ansible/tmp/ansible-1402630447.45-253524136818424/source",

"state": "file",

"uid": 503

}

去客户端查看文件是否传输过来

11:34:57 # ansible vpn -m shell -a "ls -l /tmp/" -u test --private-key=denglei -K

SSH password:

sudo password [defaults to SSH password]:

172.17.0.10 | success | rc=0

total 76

-rw-r--r-- 1 root root 41692 May 21 13:02 config

-rw-r--r-- 1 root root 1228 Jun 12 18:24 install_pptpd_vpn.sh

-rw-rw-r-- 1 test test 7 Jun 13 19:33 server

-rw-r--r-- 1 root root 82 Jun 12 18:21 test.log

-rw-r--r-- 1 root root 290 Jun 12 18:21 test.sh

-rw-r--r-- 1 root root 2444 Apr 28 2012 vpn_centos6.sh

-rw------- 1 root root 727 Jun 10 18:21 yum_save_tx-2014-06-10-18-21UrqDAp.yumtx

-rw-rw-r-- 1 zabbix zabbix 3124 Jun 12 21:32 zabbix_agentd.log

-rw-rw-r-- 1 zabbix zabbix 5 Jun 12 21:32 zabbix_agentd.pid

11:35:09 # ansible vpn -m shell -a "cat /tmp/server" -u test --private-key=denglei -K

SSH password:

sudo password [defaults to SSH password]:

172.17.0.10 | success | rc=0

server

还有另外一个模块file,可以修改用户与权限

13:50:07 # ansible vpn -m shell -a "ls -l /tmp/server" -u test --private-key=denglei -K

SSH password:

sudo password [defaults to SSH password]:

172.17.0.10 | success | rc=0

-rw-rw-r-- 1 test test 7 Jun 13 19:33 /tmp/server

server文件是664权限,用户与组都是test

13:51:17 # ansible vpn -m file -a "dest=/tmp/server mode=755 owner=root group=root" -u test --private-key=denglei -K

SSH password:

sudo password [defaults to SSH password]:

172.17.0.10 | success {

"changed": true,

"gid": 0,

"group": "root",

"mode": "0755",

"owner": "root",

"path": "/tmp/server",

"size": 7,

"state": "file",

"uid": 0

}

root@ip-10-10-10-10:/etc/ansible

13:51:31 # ansible vpn -m shell -a "ls -l /tmp/server" -u test --private-key=denglei -K

SSH password:

sudo password [defaults to SSH password]:

172.17.0.10 | success | rc=0

-rwxr-xr-x 1 root root 7 Jun 13 19:33 /tmp/server

14:20:30 # ansible vpn -m yum -a "name=nmap state=installed" -u test --private-key=denglei -K

SSH password:

sudo password [defaults to SSH password]:

172.17.0.10 | success {

"changed": true,

"msg": "",

"rc": 0,

"results": [

"Loaded plugins: fastestmirror, security\nLoading mirror speeds from cached hostfile\n * epel: mirrors.hust.edu.cn\nSetting up Install Process\nResolving Dependencies\n-- Running transaction check\n--- Package nmap.x86_64 2:5.51-3.el6 will be installed\n-- Finished Dependency Resolution\n\nDependencies Resolved\n\n================================================================================\n PackageArch Version Repository Size\n================================================================================\nInstalling:\n nmap x86_64 2:5.51-3.el6 Base 2.7 M\n\nTransaction Summary\n================================================================================\nInstall 1 Package(s)\n\nTotal download size: 2.7 M\nInstalled size: 9.7 M\nDownloading Packages:\nRunning rpm_check_debug\nRunning Transaction Test\nTransaction Test Succeeded\nRunning Transaction\n\r Installing : 2:nmap-5.51-3.el6.x86_64 1/1 \n\r Verifying : 2:nmap-5.51-3.el6.x86_64 1/1 \n\nInstalled:\n nmap.x86_64 2:5.51-3.el6 \n\nComplete!\n"

]

}

三、playbook配置管理

A.进行一下shell模块操作,测试删除文件

先查看一下客户端的server-test是否存在

[root@puppet ansible]# ansible vpn -m shell -a "ls -l /tmp/server-test" -u test --private-key=/root/denglei -k

SSH password:

172.17.0.10 | success | rc=0

-rw-rw-r-- 1 test test 7 Jun 14 00:37 /tmp/server-test

然后写一个删除的playbook

[root@puppet ansible]# cat test.yml

---

- hosts: vpn

remote_user: test

tasks:

- name: delete /tmp/server-test

shell: rm -rf /tmp/server-test

[root@puppet ansible]# ansible-playbook test.yml --private-key=/root/denglei -k

[WARNING]: The version of gmp you have installed has a known issue regarding

timing vulnerabilities when used with pycrypto. If possible, you should update

it (ie. yum update gmp).

SSH password:

PLAY [vpn] ********************************************************************

GATHERING FACTS ***************************************************************

ok: [172.17.0.10]

TASK: [delete /tmp/server-test] ***********************************************

changed: [172.17.0.10]

PLAY RECAP ********************************************************************

172.17.0.10 : ok=2 changed=1 unreachable=0 failed=0

[root@puppet ansible]# ansible vpn -m shell -a "ls -l /tmp/server-test" -u test --private-key=/root/denglei -k

SSH password:

172.17.0.10 | FAILED | rc=2

ls: cannot access /tmp/server-test: No such file or directory

B.进行一下template模块操作,测试文件传输

[root@puppet ansible]# cat copy.yml

---

- hosts: vpn

remote_user: test

tasks:

- name: copy local server to client /tmp/server-test

template: src=/tmp/server dest=/tmp/server-test

[root@puppet ansible]# ansible-playbook copy.yml --private-key=/root/denglei -k

[WARNING]: The version of gmp you have installed has a known issue regarding

timing vulnerabilities when used with pycrypto. If possible, you should update

it (ie. yum update gmp).

SSH password:

PLAY [vpn] ********************************************************************

GATHERING FACTS ***************************************************************

ok: [172.17.0.10]

TASK: [copy local server to client /tmp/server-test] **************************

changed: [172.17.0.10]

PLAY RECAP ********************************************************************

172.17.0.10 : ok=2 changed=1 unreachable=0 failed=0

[root@puppet ansible]# ansible vpn -m shell -a "ls -l /tmp/server-test" -u test --private-key=/root/denglei -k

SSH password:

172.17.0.10 | success | rc=0

-rw-rw-r-- 1 test test 7 Jun 14 17:07 /tmp/server-test

C.使用service模块,测试一下服务重启

怎样搭建Django服务器环境

1.首先安装python,配置环境变量path:C:\Python27;C:\Python27\Scripts;

2.去django官网下载压缩包Django-1.8.3.tar.gz,然后解压在C盘,输入以下命令:

cd   C:\Django-1.8.3

python  setup.py   install

命令运行后,Django环境就安装好了,然后配置环境变量path:C:\Python27\Lib\site-packages\Django-1.8.3-py2.7.egg\django\bin

3.在命令终端输入以下命令导入并检查django安装情况:

python

import django

django.VERSION

4.创建一个Django工程

django-admin  startproject  cms678(工程名)

这样在用户目录下就会产生一个cms678的工程文件夹。  

manage.py:可以在命令行下管理这个项目。

__init__.py:将这个项目目录作为Python的一个包。

settings.py: 项目的配置文件。

urls.py:定义了Django项目中的URL路由表,指定了URL与被调用类之间的对应关系。

wsgi.py: 这个是Django1.4中新添加的默认Web服务器网关接口。

命令窗口切换到cms678文件夹,然后运行命令:python manage.py runserver,启动当前目录工程。

浏览器输入

到此基本操作就结束啦 :-)

如何把django写成service启动

1、新建一个项目,每个项目目录下面会有一个manage.py文件,启用的命令中用的文件service命令。

2、执行启动服务的命令必须要到项目的根目录,在D:\django\newworldpythonmanage.pyrunserver中间直接打开django黑屏终端,选择service运行即可。

怎么在django里面执行sql语句

首先导入: from django.db import connection 然后创建一个cursor,然后就执行吧。 cursor = connection.cursor() cursor.execute("select * from table") 执行完别忘了关闭连接。 cursor.close() 我也是Django初学者

结语:以上就是首席CTO笔记为大家整理的关于django怎么在服务器执行命令的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于将django部署到linux服务器、django怎么在服务器执行命令的相关内容别忘了在本站进行查找喔。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/5742.html