#!/usr/bin/python
# -*- coding:utf8 -*-

import pymysql

#取得数据库连接对象
conn = pymysql.connect(host=‘127.0.0.1‘,port=3306,user=‘root‘,passwd=‘1234‘,db=‘python‘)
#取得游标对象
cur = conn.cursor()

#插入数据
cur.execute("INSERT INTO student(name,sex,age) VALUES(‘3‘, ‘0‘, ‘45‘)")
conn.commit()
#修改数据
cur.execute("UPDATE student SET age = 90 WHERE id = 2" )
conn.commit()
#删除数据
cur.execute("DELETE FROM student WHERE name = ‘3‘")
conn.commit()

###########################################
#    数据发生改变时一定要conn.commit()    #
###########################################

#查询数据
cur.execute(‘SELECT *FROM student‘)
for r in cur.fetchall():
    print(r)

cur.close()
conn.close()

pip安装使用详解 不指定

jed , 2016-5-17 21:55 , 服务器技术 , 评论(0) , 阅读(12411) , Via 本站原创
pip类似RedHat里面的yum,安装Python包非常方便。本节详细介绍pip的安装、以及使用方法。
1、pip下载安装
1.1 pip下载

# wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb" --no-check-certificate

1.2 pip安装

# tar -xzvf pip-1.5.4.tar.gz
# cd pip-1.5.4
# python setup.py install

2. pip使用详解
2.1 pip安装包

# pip install SomePackage
  [...]
  Successfully installed SomePackage

2.2 pip查看已安装的包

# pip show --files SomePackage
  Name: SomePackage
  Version: 1.0
  Location: /my/env/lib/pythonx.x/site-packages
  Files:
   ../somepackage/__init__.py
   [...]

2.3 pip检查哪些包需要更新

# pip list --outdated
  SomePackage (Current: 1.0 Latest: 2.0)

2.4 pip升级包

# pip install --upgrade SomePackage
  [...]
  Found existing installation: SomePackage 1.0
  Uninstalling SomePackage:
    Successfully uninstalled SomePackage
  Running setup.py install for SomePackage
  Successfully installed SomePackage

2.5 pip卸载包

$ pip uninstall SomePackage
  Uninstalling SomePackage:
    /my/env/lib/pythonx.x/site-packages/somepackage
  Proceed (y/n)? y
  Successfully uninstalled SomePackage

3. pip使用实例
3.1 安装redis

# pip install redis

3.2 卸载redis

# pip uninstall redis
Uninstalling redis:
  /usr/lib/python2.6/site-packages/redis-2.9.1-py2.6.egg-info
.....省略一些内容....
Proceed (y/n)? y
  Successfully uninstalled redis

3.3 查看待更新包

pip list --outdate
pygpgme (Current: 0.1 Latest: 0.3)
pycurl (Current: 7.19.0 Latest: 7.19.3.1)
iniparse (Current: 0.3.1 Latest: 0.4)

4. 常见错误
4.1 ImportError No module named setuptools
请参考《ImportError No module named setuptools解决》
5. pip参数解释

# pip --help

Usage:  
  pip <command> [options]

Commands:
  install                     安装包.
  uninstall                   卸载包.
  freeze                      按着一定格式输出已安装包列表
  list                        列出已安装包.
  show                        显示包详细信息.
  search                      搜索包,类似yum里的search.
  wheel                       Build wheels from your requirements.
  zip                         不推荐. Zip individual packages.
  unzip                       不推荐. Unzip individual packages.
  bundle                      不推荐. Create pybundles.
  help                        当前帮助.

General Options:
  -h, --help                  显示帮助.
  -v, --verbose               更多的输出,最多可以使用3次
  -V, --version               现实版本信息然后退出.
  -q, --quiet                 最少的输出.
  --log-file <path>           覆盖的方式记录verbose错误日志,默认文件:/root/.pip/pip.log
  --log <path>                不覆盖记录verbose输出的日志.
  --proxy <proxy>             Specify a proxy in the form [user:passwd@]proxy.server:port.
  --timeout <sec>             连接超时时间 (默认15秒).
  --exists-action <action>    Default action when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup.
  --cert <path>               证书.

6. 结束
安装使用一目了然,太简单了。

如何查找Linux下的大目录 不指定

jed , 2015-11-14 05:33 , 服务器技术 , 评论(0) , 阅读(22336) , Via 本站原创
譬如有时候磁盘空间告警了,而你平时又疏于管理、监控文件的增长,那么我需要快速的了解哪些目录变得比较大,那么此时我们可以借助du命令来帮我们解决这个问题。
Tags: , ,

nginx配置详解 不指定

jed , 2015-9-30 11:19 , 服务器技术 , 评论(0) , 阅读(21402) , Via 本站原创
Nginx 配置文件详解


user nginx ;

#用户



worker_processes 8;

#工作进程,根据硬件调整,大于等于cpu核数



error_log logs/nginx_error.log crit;
Tags:
从php5.3以后php自带了php-fpm不是和php5.2一样以插件的方式存在了。这给我们带来一个好处502没有那么容易出现了
坛子里用linux的绝大多数应该还是在用小军的lnmp的那个包,但是配置优化却是不尽人意。
php-fpm的配置文件位置:
/usr/local/php/etc/php-fpm.conf
pid = run/php-fpm.pid
pid设置,默认在安装目录中的var/run/php-fpm.pid,建议开启

linux 最大文件查找 不指定

jed , 2015-5-5 09:06 , 服务器技术 , 评论(0) , 阅读(22634) , Via 本站原创
sudo du -s * | sort -nr | head   显示前10个占用空间最大的文件或目录
sudo du --max-depth=1          linux查找占空间最大的文件与目录  
sudo find / -size +204800        这样可以查找出大于100M的文件,按需求删除就可
sudo find ./ -size +2048c             查找大于2K的文件,+ 表示大于
sudo find ./ -size +2048c -type f     查找小于2K的文件,- 表示小于

比如说/home目录太大,就可以使用下面命令看看到底是谁

du -s /home/* | sort -nr

也可以用find,查找大于200M的文件并显示详细信息

find . -size +100000000c -exec ls -lh {} ;
0x01 查看访问日志

看是否有文件上传操作(POST方法),

IPREMOVED - - [01/Mar/2013:06:16:48 -0600] "POST/uploads/monthly_10_2012/view.php HTTP/1.1" 200 36 "-" "Mozilla/5.0"
IPREMOVED - - [01/Mar/2013:06:12:58 -0600] "POST/public/style_images/master/profile/blog.php HTTP/1.1" 200 36 "-" "Mozilla/5.0"

nginx默认记录的日志格式为:  
Tags: ,
1.隐藏php版本号
隐藏方法:vim php.ini添加如下代码

expose_php = Off  

2.隐藏nginx版本号
隐藏方法:vim nginx.conf 在http里加入

server_tokens off;  

3.隐藏apache版本号
隐藏方法:vim httpd.ini 添加如下代码

ServerTokens = ProductOnly  
ServerSignature = Off  

修改每个配置文件都要重启服务才可以生效。
伪装apache
编辑ap_release.h文件,修改

“#define AP_SERVER_BASEPRODUCT \"Apache\"”



“#define AP_SERVER_BASEPRODUCT \"Microsoft-IIS/5.0\"”

编辑os/unix/os.h文件,修改

“#define PLATFORM \"Unix\"”为“#define PLATFORM \"Win32\"”

修改完毕后,重新编译、安装Apache。
伪装nginx

cd /usr/local/src/nginx-1.0.6/src/core/
[root@server core]# cat nginx.h

/*  
* Copyright (C) Igor Sysoev  
*/

#ifndef _NGINX_H_INCLUDED_  
#define _NGINX_H_INCLUDED_  

#define NGINX_VERSION      "1.0"  
#define NGINX_VER          "ZWS/" NGINX_VERSION  

#define NGINX_VAR          "ZWS"  
#define NGX_OLDPID_EXT     ".oldbin"  

#endif /* _NGINX_H_INCLUDED_ */  

1. Sendmail配置
配置发送邮件的邮箱认证信息


vi /etc/mail.rc


--- 增加如下内容 ---


set from=yourname@your-domain.com
set smtp=mail.your-domain.com
set smtp-auth-user=yourname
set smtp-auth-password=yourpasswd
set smtp-auth=login

2. 测试发送邮件功能

echo  "hello word" | mail -s "mail title" yourname@your-domain.com
Tags: ,
       php 5.3.3 源码中已经内嵌了 php-fpm,不用象以前的php版本一样专门打补丁了,只需要在configure的时候添加编译参数即可。

       关于php-fpm的编译参数有 –enable-fpm –with-fpm-user=www –with-fpm-group=www –with-libevent-dir=libevent位置。

       但是,php 5.3.3 下的php-fpm 不再支持 php-fpm 以前具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,需要使用信号控制:

       master 进程可以理解以下信号:

       INT, TERM:立刻终止
       QUIT :平滑终止
       USR1:重新打开日志文件
       USR2:平滑重载所有worker进程并重新载入配置和二进制模块

       示例:
       1)php-fpm 关闭:
       # kill -INT `cat /usr/local/php/var/run/php-fpm.pid`

       2)php-fpm 重启:
       # kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

       查看php-fpm进程数:
       # ps aux | grep -c php-fpm
分页: 4/33 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]