本篇文章首席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怎么在服务器执行命令的相关内容别忘了在本站进行查找喔。