利用CentOS Linux系统自带的yum命令安装、升级所需的程序库
Mysql5.1.40 下载地址: http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.40.tar.gz/from/pick
以mysql用户帐号的身份建立数据表
创建 Mysql 开机启动脚本
添加 Nginx 为系统服务(开机自动启动)
chkconfig --add mysql chkconfig mysql on
启动 Mysql
/usr/sbin/groupadd www /usr/sbin/useradd www -g www -d /dev/null -s /sbin/nologin mkdir -p /var/log/nginx chmod +w /var/log/nginx chown -R www:www /var/log/nginx
输入以下内容:
user www www;
worker_processes 8;
error_log /var/log/nginx/error.log;
pid /var/log/nginx/nginx.pid;
worker_rlimit_nofile 51200;
events {
use epoll;
worker_connections 51200;
}
http {
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 8m;
sendfile on;
tcp_nopush on;
keepalive_timeout 30;
tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml
gzip_vary on;
server {
listen 80;
server_name localhost;
root /home/excms;
index index.html index.htm index.php;
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location /nginx_status {
stub_status on;
access_log off;
}
}
}创建 Nginx 开机启动脚本
加入以下内容
#!/bin/bash
#
# chkconfig: - 85 15
# description: Nginx is a World Wide Web server.
# processname: nginx
nginx=/usr/local/webserver/nginx/sbin/nginx
conf=/usr/local/webserver/nginx/conf/nginx.conf
case $1 in
start)
echo -n "Starting Nginx"
$nginx -c $conf
echo " done"
;;
stop)
echo -n "Stopping Nginx"
killall -9 nginx
echo " done"
;;
test)
$nginx -t -c $conf
;;
reload)
echo -n "Reloading Nginx"
ps auxww | grep nginx | grep master | awk '{print $2}' | xargs kill -HUP
echo " done"
;;
restart)
$0 stop
$0 start
;;
show)
ps -aux|grep nginx
;;
*)
echo -n "Usage: $0 {start|restart|reload|stop|test|show}"
;;
esac为 nginx.sh 脚本设置可执行属性
添加 Nginx 为系统服务(开机自动启动)
chkconfig --add nginx chkconfig nginx on
启动 Nginx
在不停止 Nginx 服务的情况下平滑变更 Nginx 配置
修改 /usr/local/webserver/nginx/conf/nginx.conf 配置文件后,请执行以下命令检查配置文件是否正确:
如果屏幕显示以下两行信息,说明配置文件正确:
the configuration file /usr/local/webserver/nginx/conf/nginx.conf syntax is ok
the configuration file /usr/local/webserver/nginx/conf/nginx.conf was tested successfully
平滑变更 Nginx 配置
tar zxvf zlib-1.2.3.tar.gz cd zlib-1.2.3 ./configure make && make install clean cd ..
tar zxvf libpng-1.2.40.tar.gz cd libpng-1.2.40 ./configure make && make install clean cd ..
tar zxvf jpegsrc.v7.tar.gz cd jpeg-7 ./configure -enable-shared -enable-static make && make install clean cd ..
tar zxvf freetype-2.3.11.tar.gz cd freetype-2.3.11 ./configure make && make install clean cd ..
tar zxvf gd-2.0.35.tar.gz cd gd-2.0.35 ./configure make && make install clean cd ..
tar -zxvf libxml2-2.7.6.tar.gz cd libxml2-2.7.6 ./configure make && make install clean cd ..
ZendOptimizer 官方下载地址: http://www.zend.com/en/products/guard/downloads
tar zxvf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz cd ZendOptimizer-3.3.9-linux-glibc23-i386 cp data/5_2_x_comp/ZendOptimizer.so /usr/local/webserver/php/include/
修改 php.ini 在末尾添加以下内容
[zend] zend_optimizer.optimization_level=15 zend_extension="/usr/local/webserver/php/include/ZendOptimizer.so"
修改php-fpm配置文件
php-fpm是为PHP打的一个FastCGI管理补丁,可以平滑变更php.ini配置而无需重启php-cgi
vi /usr/local/webserver/php/etc/php-fpm.conf
将 <value name=”user”>nobody</value>和 <value
name=”group”>nobody</value> 中的 nobody 改为 www, 并去掉前后的注释标签 <!–
, –>;
如要显示PHP调试的错误信息将 <value
name=”display_errors”>0</value> 修改为 <value
name=”display_errors”>1</value> ,并去掉前后的注释标签 <!– , –>,
以显示PHP错误信息,否则,Nginx 会报状态为500的空白错误页。
修改 php-fpm 启动脚本
ln -s /usr/local/webserver/php/sbin/php-fpm /etc/init.d/php-fpm vi /usr/lcaol/webserver/php/sbin/php-fpm
在 #!/bin/sh 下添加以下内容
# # chkconfig: - 85 15 # description: php-fpm is PHP FastCGI Process Manage. # processname: php-fpm
添加 php-fpm 为系统服务
chkconfig --add php-fpm chkconfig php-fpm on
启动 php-fpm
service php-fpm start
在不停止 PHP-fpm 服务的情况下平滑变更 php.ini 配置
修改 /usr/local/webserver/php/etc/php.ini 或者 /usr/loca/webserver/php/etc/php-fpm.conf 配置文件后,请执行以下命令检查配置文件是否正确:
在/home/excms 目录下新建 phpinfo.php
加入如下文本
<? phpinfo(); ?>;
打开浏览器,在地址栏里输入 http://您服务器的IP/phpinfo.php
在末尾增加如下文本
net.core.netdev_max_backlog = 32768 net.core.somaxconn = 32768 net.core.wmem_default = 8388608 net.core.rmem_default = 8388608 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_max_syn_backlog = 65536 net.ipv4.tcp_timestamps = 0 net.ipv4.tcp_synack_retries = 2 net.ipv4.tcp_syn_retries = 2 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_mem = 94500000 915000000 927000000 net.ipv4.tcp_max_orphans = 3276800 net.ipv4.ip_local_port_range = 1024 65535
使配置立即生效:
加入如下文本
sysctl kern.ipc.maxsockets=100000 ##增加并发的socket,对于ddos很有用 sysctl kern.ipc.somaxconn=65535 ##打开文件数 sysctl net.inet.tcp.msl=2500 ##timeout时间
上一篇:轻松搞定CentOS+Nginx+PHP+MySQL标准生产环境
讨论数量:0