
前面我们已经配置好了 nginx php mysql 可以正常一起工作,而且可以
在上面成功运行 phpMyAdmin,但是这不意味着一台服务器就这样完成了。
接下来的事情才是至关重要的,例如安全性,稳定性。。
要知道当你的服务器拿去机房托管时候,你只能通过远程进行管理。
一旦出现远程无法处理的问题,没办法,只能去电信机房取回服务器进行维护。
所以在拿去托管之前,一定要做好相关的配置和测试,
下面接着以前的视频 进行一些简单的配置,但是也是必不可少的,
例如 自动启动脚本,当服务器要重启,还有机房突然停电,这样你的服务器从新
启动了, 那么很多程序都要自动跟着启动才可以的。。。
=====================================
多的不说了, 下面开始修改 php.ini 提高php相关的安全性。
以下的内容,其实大家也可以在网上找一下资料,我找到的资料也许不全,
或者不是那么合适,欢迎大家交流。
vi /var/www/conf/php.ini
加入下面的内容:
; 禁止动态加载模块
enable_dl = Off
; 隐藏PHP信息
expose_php = Off
; 限定可访问目录
open_basedir = /var/nginx/html/
;设定session暂存目录
session.save_path=/var/nginx/sesstmp
; 设定PHP上传文件的临时目录
upload_tmp_dir=/var/nginx/tmp
; 禁用危险函数(注意下面的内容应该是一行,编排的原因分成了多行)
disable_functions = phpinfo,com,shell,exec,system,passthru,error_log,stream_socket_server,putenv,ini_alter,
ini_restore,ini_set,dl,openlog,syslog,readlink,symlink,link,leak,fsockopen,pfsockopen,
proc_open,popepassthru,escapeshellcmd,escapeshellarg,chroot,scandir,chgrp,chown,
shell_exec,proc_get_status,popen,shmop_close,shmop_delete,shmop_open,shmop_read,
shmop_size,shmop_write
; 启用PHP的安全模式
; PHP在安全模式下运行是用性能换安全。据简单测试,性能下降到50%左右
; 启用安全模式后,某些程序可能受到影响。例如,Discuz!将无法上传附件
safe_mode = On
; pecl-APC只使用16M的共享内存用以加速PHP程序的运行,这个文件中找不到,我们加入到最下面
apc.shm_size=16M
保存退出。
启动一下是否成功
启动msql
/usr/local/bin/mysqld_safe &
启动 php-fastcgi
/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 6 -u www -f /usr/local/bin/php-fastcgi > /var/run/fcgi.pid
启动 nginx
/usr/local/sbin/nginx &
然后用浏览器进行访问测试
http://192.168.138.131/pma/ 可以显示 phpMyAdmin 说明没有问题了
=======================================================
下面修改系统启动脚本,使得MySQL、PHP(fastcgi)、Nginx可以在系统启动的时候自动启动,
免去手动启动的麻烦。
vi /etc/rc.local
跳到最后,加入下面的内容:
# 启动时校时。这行也可以加在/etc/daily.local文件的最前面,每天零点自动校时
rdate -n 210.72.145.44
# Start MySQL
if [ -x /usr/local/bin/mysqld_safe ] ; then
echo -n 'Starting MySQL...'
su -c mysql root -c '/usr/local/bin/mysqld_safe >/dev/null 2>&1 &'
echo "DONE"
fi
# Start php-fastcgi
if [ -x /usr/local/bin/spawn-fcgi ] ; then
echo -n 'Starting php-fastcgi...'
/usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 6 -u www -f /usr/local/bin/php-fastcgi > /var/run/fcgi.pid
echo "DONE"
fi
# Start nginx
if [ -x /usr/local/sbin/nginx ] ; then
echo -n 'Starting nginx...'
/usr/local/sbin/nginx
echo "DONE"
fi
保存退出。如果你是按照以前视频做的,完全复制就可以了,
如果你是另外配置的,例如路径方面 要做一些修改。
======================================
shutdown -r now 重启后, 输入top 查看是否自动开机启动相关的程序,使用 q 退出
其实在重启最后的过程中,我们已经看到了相关的信息了。
30272 _mysql 2 0 39M 17M sleep poll 0:00 0.00% mysqld
4726 www 2 0 35M 6408K idle poll 0:00 0.00% php-fastcgi
23539 root 2 0 3396K 2404K sleep select 0:00 0.00% sshd
6483 _syslogd 2 0 364K 688K sleep poll 0:00 0.00% syslogd
20663 www 2 0 35M 1584K idle poll 0:00 0.00% php-fastcgi
24736 www 2 0 35M 1584K idle poll 0:00 0.00% php-fastcgi
16677 www 2 0 35M 1584K idle poll 0:00 0.00% php-fastcgi
26186 www 2 0 35M 1584K idle poll 0:00 0.00% php-fastcgi
7523 www 2 0 35M 1584K idle poll 0:00 0.00% php-fastcgi
18771 root 18 0 532K 432K idle pause 0:00 0.00% sh
29085 www 2 0 35M 1596K idle poll 0:00 0.00% php-fastcgi
8356 root 28 0 432K 1272K onproc - 0:00 0.00% top
1 root 10 0 428K 292K idle wait 0:00 0.00% init
3132 root 18 0 408K 428K idle pause 0:00 0.00% ksh
24387 _nginx 2 0 12M 1360K sleep kqread 0:00 0.00% nginx
24797 root 2 0 1132K 1428K sleep select 0:00 0.00% sendmail
20003 _nginx 2 0 12M 1356K sleep kqread 0:00 0.00% nginx
正常启动, 使用 q 退出 top 的显示信息
再不放心就用浏览器进行访问。。。
http://192.168.138.131/ nginx 正常
http://192.168.138.131/pma/ php mysql phpMyAdmin 正常
好了视频就要是到这里,谢谢大家的观看!!!