备份命令:
/usr/local/mysql/bin/mysqldump --opt -p123 --flush-logs --all-database > backup.0621
接下来删除一两个数据库
还原命令:
/usr/local/mysql/bin/mysql -p123 < backup.0621
[root@xxw fpm]# cat php-fpm
#! /bin/sh
php_fpm_BIN=/usr/local/php5/bin/php-cgi
php_fpm_CONF=/usr/local/php5/etc/php-fpm.conf
php_fpm_PID=/usr/local/php5/logs/php-fpm.pid
php_opts="--fpm-config $php_fpm_CONF"
wait_for_pid () {
try=0
while test $try -lt 35 ; do
case "$1" in
'created')
if [ -f "$2" ] ; then
try=''
&nb..
下面是关于启用 FastCGI SAPI 时的问题和 php-fpm 是如何解决他们的对比列表。
描述
php自带的
spawn-fcgi + spawn-php.sh + daemontools
php-fpm
php守护进程化: pid file, log file, setsid(), setuid(), setgid(), chroot()
(-)
(+)
(+)
进程管理。可以用 "graceful" 来停止并启动 php worker 进程而不会丢失请求。能够平滑地升级配置和二进制程序而不丢失任何请求。
php4 (-), php5 (只有 graceful)
(-)
(+)
严格限制来源请求的 web server 的 ip 地址
php4 (-) php5 (+) (从 5.2.2 开始)
(-)
(+)
根据负载动态调整进程数
(-)
(-)
Todo
用不同的 uid/gid/chroot/environment 和不同的 php.ini 选项启动 worder 进程。你不需要 safe mode 了!
(-)
(-)
(+)
记录 worker 进程 stdout 和 stderr 日志
(-)
(-)
(+)
如果使用优化器,在共享内存意外破坏的情况下紧急重启所有的进程
(-)
(-)
(+)
如果 set_time_limit() 失败,确保进程会结束
(-)
(-)
(+)
特色功能 Error header、优化的上传支持、fastcgi_finish_request()
&nbs..
[soap]
soap.wsdl_cache_enabled=1 #打开或关闭WSDL缓冲特性.
soap.wsdl_cache_dir="/tmp" #设置SOAP扩展存放缓冲文件的目录
soap.wsdl_cache_ttl=86400 #(存活时间) 设置当缓冲文件被用来替换原有缓冲文件的秒数
[mail function]
SMTP = localhost
smtp_port = 25
[SQL]
sql.safe_mode = Off
[bcmath]
bcmath.scale = 0 #用于所有bcmath函数的10十进制数数字的个数
[browscap]
[Tidy]
; 当调用tidy时,默认指向tidy配置文件的路径
;tidy.default_config = /usr/local/lib/php/default.tcfg
; tidy是否自动清除和修复输出?
; 警告: 不要在你产生非html内容时使用此项,例如产生动态图片时
tidy.clean_output = Off
[PHP]
engine = On #是否启用PHP解析引擎
zend.ze1_compatibility_mode = Off #是否在Last-Modified应答头中放置该PHP脚本的最后修改时间
short_open_tag = On #使用简洁标志
asp_tags = Off #不允许ASP类标志
precision = 12 #浮点型数据显示的有效期
y2k_compliance = On #是否强制打开2000年适应(可能在非Y2K适应的浏览器中导致问题)。
output_buffering = 0 #; 输出缓冲区大小(字节)。建议值为4096~8192。
; 输出缓冲允许你甚至在输出正文内容之后再发送HTTP头(包括cookies)。
; 其代价是输出层减慢一点点速度。
; 设置输出缓冲可以减少写入,有时还能减少网络数据包的发送。
; 这个参数的实际收益很大程度上取决于你使用的是什么Web服务器以及什么样的脚本
zlib.output_compression = Off zlib输出压缩
implicit_flush = Off #是否要求PHP输出层在每个输出块之后自动刷新数据。
; 这等效于在每个 print()、echo()、HTML块 之后自动调用flush()函数。
; 打开这个选项对程序执行的性能有严重的影响,通常只推荐在调试时使用。
; 在CLI SAPI的执行模式下,该指令默认为 On 。
..
./configure --prefix=/usr/local/php
--with-apxs2=/usr/local/apache2/bin/apxs
--with-config-file-path=/usr/local/php/etc
--with-mysql=/usr/local/mysql
--enable-fastcgi
--enable-force-cgi-redirect
--with-zlib
--with-gd
--with-ttf
--with-png
--with-gmp
--with-xml #支持xml解析程序库
--with-jpeg-dir
--with-freetype-dir
--with-expat-dir=/usr #为了系统的安全考虑,会指定php程序一定要在哪个目
录执行
--with-mysql=/usr/local/mysql --with-charset=utf-8
--with-config-file-path=/usr/local/lib #指定php.ini路径,供php初始化用
--disable-debug --disable-posix --disable-rpath --disable-debug
--disable-dmalloc
--enable-safe-mode #安全模式
--enable-magic-quotes
--enable-bcmath #打开高精度函数。必须要安装本函数库,选项方有效
--enable-dio
--enable-gd-native-ttf
--enable-sysvsem #使用sysv的信号机制,要打开本选项
--enable-sysvshm
--enable-wddx
--enable-versioning
--enable-pic
--enable-inline-optimization
--enable-memory-limit
--enable-mbstring
--enable-mbr..
[MySQL]
mysql.allow_persistent = On 允许或禁止持久连接
mysql.max_persistent = -1 持久连接的最大数 -1代表无限制
mysql.max_links = -1 每个进程中允许的最大连接数(持久和非持久),-1代表无限制
mysql.default_port = 3306 连接到mysql数据库默认的tcp端口,如果没有指定,将按如下顺序寻找
(1)$MYSQL_TCP_PORT环境变量
(2)/etc/services文件中的mysql-tcp项(unix)
(3)编译时指定的MYSQL_PORT常量
mysql.default_socket = 连接到本机mysql服务器时所使用的默认套接名字,若未指定则使用内置的mysql默认值
mysql.default_host = 连接到MySQL数据库时使用的默认主机。安全模式下无效
mysql.default_user = 连接到MySQL数据库时使用的默认用户名。安全模式下无效
mysql.default_password = 连接到MySQL数据库时使用的默认密码。安全模式下无效
在配置文件中保存密码是个坏主意,任何使用PHP权限的用户都可以运行 ‘echo cfg_get_var(”mysql.default_password”)’ 来显示密码!
而且任何对该配置文件有读权限的用户也能..
Session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。从上述的定义中我们可以看到,Session实际上是一个特定的时间概念。
一般来说,在网站上某一个页面中的变量(指服务器端变量,下同)是不能在下一页中用的,有了session就好办了。session中注册的变量可以作为全局变量使用。这样我们就可以将session用于用户身份认证,程序状态记录,页面之间参数传递。
session.save_handler = files
定义 session 储存资料的文件名称。默认值为 files。
session.save_path
定义 session 储存资料的文件路径。默认值为 /tmp。
session.name = PHPSESSID
配置 session 所使用的 cookie 名称。默认值为 PHPSESSID。
session.auto_start = 0
配置 session 是否自动打开。默认值为 0 (否)。
session.lifetime
配置 cookie 送到浏览器后的保存时间,单位为秒。默认值为 0,表示直到浏览器关闭。
session.serialize_handler = php
定义连续/解连续资料的标头,本功能只有 WDDX..
PHP本身再老版本有一些问题,比如在 php4.3.10和php5.0.3以前有一些比较严重的bug,所以推荐使用新版。另外,目前闹的轰轰烈烈的SQLInjection也是在PHP上有很多利用方式,所以要保证安全,PHP代码编写是一方面,PHP的配置更是非常关键。
我们php手手工安装的,php的默认配置文件在 /usr/local/apache2/conf/php.ini,我们最主要就是要配置php.ini中的内容,让我们执行php能够更安全。整个PHP中的安全设置主要是为了防止phpshell和SQL Injection的攻击,一下我们慢慢探讨。我们先使用任何编辑工具打开/etc/local/apache2/conf/php.ini,如果你是采用其他方式安装,配置文件可能不在该目录。
(1) 打开php的安全模式
php的安全模式是个非常重要的内嵌的安全机制,能够控制一些php中的函数,比如system(),同时把很多文件操作函数进行了权限控制,也不允许对某些关键文件的文件,比如/etc/passwd,但是默认的php.ini是没有打开安全模式的,我们把它打开:
safe_mode = on
(2) 用户组安全
当safe_mode打开时,safe_mode_gid被关闭,那么php脚本能够对文件进行访问,而且相同组的用户也能够对文件进行访问。
..
一,开始安装过程:
1,三个包
openvpn-2.1-0.29.rc15.el5.i386.rpm
lzo-2.02-2.el5.1.i386.rpm
lzo-devel-2.02-2.el5.1.i386.rpm
2,查看一下文件分布:
[root@xxw src]# find / -name openvpn
/etc/openvpn (空的)
/etc/rc.d/init.d/openvpn
/usr/share/openvpn (示例文件)
/usr/share/logwatch/scripts/services/openvpn
/usr/lib/openvpn
/usr/sbin/openvpn
/var/run/openvpn
3,查看示例文件,有1.0和2.0两个版本
[root@xxw easy-rsa]# ll /usr/share/openvpn/easy-rsa
total 8
drwxr-xr-x 2 root root 4096 Jun 5 13:02 1.0
drwxr-xr-x 2 root root 4096 Jun 5 13:02 2.0
4,复制2.0的到/etc/openvpn中
cp 2.0/* /etc/openvpn
二,详细安装
1,创建证书配置文件
vi /etc/openvpn/vars 最后几行改好
export KEY_COUNTRY="CN"
export KEY_PROVINCE="BJ"
export KEY_CITY="BJ"
export KEY_ORG="XXW"
export KEY_EMAIL="XXW@qq.com"
2,执行
# . ./vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/..