环境:CentOS release 6.4 x64

1、配置防火墙:

上一篇博客已经写过:http://www.cnblogs.com/hukey/p/5300832.html

2、修改sysctl.conf提高Web服务器性能:

[root@cloud ~]# vim /etc/sysctl.conf

在末尾追加:

fs.file-max = 655350  # 系统文件描述符总量
net.ipv4.ip_local_port_range = 65535  # 打开端口范围
net.ipv4.tcp_max_tw_buckets = 2000  # 设置tcp连接时TIME_WAIT个数
net.ipv4.tcp_tw_recycle = 1  # 开启快速tcp TIME_WAIT快速回收
net.ipv4.tcp_tw_reuse = 1  # 开启TIME_WAIT重用
net.ipv4.tcp_syncookies = 1  # 开启SYN cookies 当出现syn等待溢出,启用cookies来处理,可防范少量的syn攻击
net.ipv4.tcp_syn_retries = 2  # 对于一个新建的tcp连接,内核要发送几个SYN连接请求才决定放弃
net.ipv4.tcp_synack_retries = 2  # 这里是三次握手的第二次连接,服务器端发送syn+ack响应 这里决定内核发送次数
net.ipv4.tcp_keepalive_time = 1200  # tcp的长连接,这里注意:tcp的长连接与HTTP的长连接不同
net.ipv4.tcp_fin_timeout = 15   # 设置保持在FIN_WAIT_2状态的时间
net.ipv4.tcp_max_syn_backlog = 20000  # tcp半连接最大限制数
net.core.somaxconn = 65535  # 定义一个监听最大的队列数
net.core.netdev_max_backlog = 65535  # 当网络接口比内核处理数据包速度快时,允许送到队列数据包的最大数目 保存退出
[root@cloud ~]# sysctl -p # 添加生效

2、修改limits.conf修改

limits.conf文件实际是Linux pam.d中pam.limits.so的配置文件,而且只是针对单个会话做限定

修改内容如下:

[root@cloud ~]# vim /etc/security/limits.conf

*               soft    nproc           65535  # 单个用户可用的最大进程数量(软限制)
* hard nproc 65535  # 单个用户可用的最大进程数量(硬限制)
* soft nofile 65535  # 单个用户可打开的最大文件描述符(软限制)
* hard nofile 65535  # 单个用户可打开的最大文件描述符(硬限制) 保存退出
[root@cloud ~]# vim /etc/pam.d/login session    required     pam_limits.so  # 插入该行,用户登录执行该模块 重新登出、登录

至此,系统环境的优化完成。

1、安装nginx

在配置环境时候,我们需要wgetyi一些软件包到本地,因此添加如下防火墙规则:

iptables -A OUTPUT -p tcp --dport  -j ACCEPT  # 允许本地访问对方80端口
iptables -A OUTPUT -p tcp --dport -j ACCEPT  # 允许本地访问对方HTTPS 443端口
[root@cloud src]# cd /usr/local/src/
[root@cloud src]# wget http://mirrors.sohu.com/nginx/nginx-1.9.9.tar.gz # 安装nginx1.9.9版本
# 配置yum环境
[root@cloud src]# rm -rf /etc/yum.repos.d/*
[root@cloud src]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
[root@cloud src]# yum install pcre-devel openssl-devel zlib-devel -y
# pcre 支持正则表达式
# zlib 支持数据压缩
# openssl支持HTTPS
[root@cloud src]# groupadd -g  nginx
[root@cloud src]# useradd -u -g -s /sbin/nologin nginx
[root@cloud ~]# yum install gcc* -y
[root@cloud src]# tar xf nginx-1.9.9.tar.gz [root@cloud src]# cd nginx-1.9.9 [root@cloud nginx-1.9.9]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module --with-pcre
# --with-http_ssl_module 启用HTTPS加密
# --with-http_stub_status_module 启用nginx状态监控
# --with-http_gzip_static_module 启用静态压缩
# --with-http_realip_module 做代理时获取客户端真实IP
# 这里说下,在编译之前需要安装编译支持环境
[root@cloud nginx-1.9.9]# make && make install  
 
[root@cloud nginx-1.9.]# vim /etc/profile.d/nginx.sh
export PATH=$PATH:/usr/local/nginx/sbin
#保存退出
[root@cloud nginx-1.9.]# source /etc/profile.d/nginx.sh --------以上为将nginx命令添加到环境变量中------------ [root@cloud nginx-1.9.]# vim /etc/init.d/nginxd   # 添加启动脚本
#!/bin/bash
# nginx - this script starts and stops the nginx daemon
#
# chkconfig: -
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /etc/nginx/nginx.conf
# config: /etc/sysconfig/nginx
# pidfile: /var/run/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit
nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
lockfile=/var/lock/subsys/nginx start() {
[ -x $nginx ] || exit
[ -f $NGINX_CONF_FILE ] || exit
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq ] && touch $lockfile
return $retval
} stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq ] && rm -f $lockfile
return $retval
killall - nginx
} restart() {
configtest || return $?
stop
sleep
start
} reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
} force_reload() {
restart
} configtest() {
$nginx -t -c $NGINX_CONF_FILE
} rh_status() {
status $prog
} rh_status_q() {
rh_status >/dev/null >&
} case "$1" in
start)
rh_status_q && exit
$
;;
stop)
rh_status_q || exit
$
;;
restart|configtest)
$
;;
reload)
rh_status_q || exit
$
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit
esac
http://i.cnblogs.com/EditPosts.aspx?postid=5304437&update=1
#保存退出
[root@cloud nginx-1.9.]# chmod +x /etc/init.d/nginxd  # 给执行权限
[root@cloud nginx-1.9.]# chkconfig --add nginxd  # 添加开机启动项
[root@cloud nginx-1.9.9]# chkconfig nginxd on
[root@cloud nginx-1.9.]# chkconfig --list nginxd
nginxd :关闭 :关闭 :启用 :启用 :启用 :启用 :关闭
[root@cloud nginx-1.9.]# service nginxd start
正在启动 nginx: [确定] nginx安装完毕。

通过客户端访问正常

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAh8AAAETCAIAAAAZFfNgAAAduUlEQVR4nO2dTbKjvA6Gsy4WRNVdxtkBG+htsIpT1aMepXra36ynPcwdJAHbSLIMIiHJ89QZnICRZWH7xTY/p/8BAABEc7oAAABEg7oAAEA8qAsAAMSDugAAQDyoCwAAxIO6AABAPKgLAADEg7oAAEA8qAsAAMSDugAAQDyoCwAAxIO6AABAPKgLAADEg7oAAEA8qAsAAMSDugAAQDyoCwAAxIO6AABAPKgLAADEg7oAAEA8qAsAAMSDugAAQDyoCwAAxIO6AABAPKgLAADEg7oAAEA8qAsAAMSDugAAQDyoC4DBeehOOf34bJ8AXoKPUpdFT0FHARVQF4CVhKrL2J8cLXHZXp3JuuG8zT/UZRPl6d18Pl6BI6qLswUBPJdQdfEJwlKDfMm2d2aoyyZQl4NUGtQFXoLYmTGPvAji4koW0JehLpv4SHU5IqgLvATB6y71uTGhZfiSBbQf1GUTqMtR2OPSCyCa6FX9Wr1XxGXR0S/sRAgB6rIJ1OUooC7wCkSrS23MIc6LLdvHwozafES5UlI3qYtzBm+dJ5YzxY6Fj7X9Wx0TUM9azeL2rDUXJiPFDjscgj/dMBYbM//sOrPOKykqS7+XQdesoy5wSMLvSLblxeim0gbiEhd1GKQe5FMXR1daWK4fIWQkOaMVSREeuxyrQiSzQl1WxaTBhW44q3mIlquxkAvSri4ur4REtcuwZD/qAq9A/PMuljKYLdxqPYv+wtXfVUdEAWbdnVbZAfh7u6undnqhe1kVIplGdVkdk60uTDhX+xxetalLg1fm0nxFPpjihVdgh6cpdWnwdpC1xmMsAJijnordFVe3sb3LFirDKW+InKfU8mCbDmxyQSlTY6h3U5eaRtz3V4cmqAu8Ans8q++ejO57MV2l+yt3ly2rzH7ebzZKsQtS5OfmkDiLb41qTKnbiGXbH6JV51WMkZiuEpOGzGtYI+GixGa5QtWlDLSoL45pL9QFXoE91EVTh+VKp7z2afdioyxJegpj7GR2QcatAddd9W7AWoSyO9raPQXmvP2GEFl41GVbTBoyd8ey/nBIrLp4z7CapnZI1SmAY7DLe8bkyl9s7YazfI1tN53aZbmQRO9orJ6g2mA9M0xGmuZpOvc921tCZOFQl40xWZ+5brSud4Hq4vbKSKPnph7Doj4ckX3eYik1OkFcXIqzfbXCoy4rnq9ZN1HkGkh5PPLe0ewiSl02xmRD5tp+Rwe/n7o4HxFS59fUwNRHpwBPZ6d3JAszL65ZMGHaee3Ku9D2Grr6env1HaKnekd12RqTDZm/sroo+mKILuoCL8BO6rJsk70oLsvFmMEe9KMueohRF2G/Y6B0VHUxwoK6wAuw1/ddKl2cufRptZtN65kfOjMWteTLzNjC2Z1nxlTVaHpBAcBz2O3rYea9mv47c+vPOza0rJZV/ZjBy/pV/fXqss872gS7R1rVd98G76hSj1WX5qdkAV6E/b5N6Xzpi928hH6x6S0Y8+3DYk6HuiM5TF22hMjCo1oPuyPZ3Y/X83umujimMRmYwIuy45ePdXmp9aN6Y1STG+96dA4XHE9TTlnv8jRlnLpsCJGFJcDnoRPvAmyLSUPm/n5cCEZ6cOWyYld1EZVv6RD6Ai/JjuqiXpa53+7VtAaqsuERk6rJyDfBBKrL+hCZ2EbvRh7zJpiGfrz1NodHqYsqIzV9qT8gCnAAdlQXrVU7bjWqNpmWDsO/1OHuGdd0Xa33J2xTl7UhsnEupq2OSUPWG/txt1e7qYspIba+oC7wEuypLv77LOXuqNJivH1Yi7o4zRZlqHdejsflo9VlXYhquFfTVsWkIePWFQ5jnra3Dt1JXTYNT1AXeAl2VRexSYvtQOoGt15QO8ZIRptUOubWI/RCPEJd2kPkQjbnlupVuYbc+ys/qWs+v7uHulRWgvTQ3fJGXeAl2FddAA4PL+0C2AXUBT6A62jB9bQJ4gIQA+oCH4B/WZ8pJoAgUBf4ALzqgrYAhIG6wAfgURemxABCQV3gMzAEhhELwA6gLgAAEA/qAgAA8aAuAAAQD+oCAADxoC4AABAP6gIAAPGgLgAAEA/qAgAA8aAuAAAQD+oCAADxoC4AABAP6gIAAPGgLgAAEA/qAgAA8aAuAAAQD+oCAADxoC4AABAP6gIAAPGgLgAAEA/qAgAA8aAuAAAQD+oCAADxoC4AABAP6gIAAPGgLgAAEA/qAgAA8aAuAAAQD+oCAADxoC4AABAP6gIAAPE8Ql3G/nSlG84PyO6BjP0bFmrivUvngQgcBV8fkp6vY567zR7uWqxo45Hqch6600w/zhtv/78+RfiNszH2p5crt790u7txjNAds4fycJwYBuDuQzb23VuC5swOddlE4eB7iQvq8ig3jhE61OUI+PsQ1GUbr6Yur9s+RSjdR0EEjoD/LDxxZgx1EdhVXfKpstJt4ZJEO1jv8sx4TJO1uYnEcpa9tl0yd01zzX2cjlMdUzxZFv0s2FrmKzvVdV16WK04W0rntF+xoDi/bIGChbGXTurCEbO6ZDVQKo5xUsz4VSpbYbY4b6WfDgvL+LdWPzFNpa1lzVsIox1bxaty47IPMbwS/6/0M8pms+qWTsptJ99ie6tH6bJomvIptHN0tUHd+EqeOnYZ+zyO8+/z0BXNSzkluv28Uo19ug4ktB5te7V085nMdiY/FE+Wlk+FO3e7YxGjyVj241o50zyrxVlduoZwaRZ058sWqFiwqoVSpqu17OeyviVHGCclp62yFWaX3s+/vRaMYnuqn5zGamtZ9C9jP3fk1saiYGWO7W441MXqZ9SgGRXP56TSZlV1URtUMV2nV3QjR18bfLGxy/KnmXg+6aKqe6qa7oi4dbZrXNT6S2dU7uo5WyTSjtIaaLbLWZyI0ln2DQtO5+tjD+FyNiWT6f7U9X2X3nBih2vFSdG3GmadDcGyoGftqX4e/83rbu/GqQh+A9vVRQ2vkZGei8tJbafPw/lEG83EROsKvG0whievu5QBTq4ks/PvClZOdimfbSwG5/2ob28rnVJdRE8qlkuXhElGI0re4qwt3fZweU9x5XRf9aXrjOjOGnIeuu46mzQ1XFmmp+JUTkqx3VvZpErrawiWhZzG6ienaTl93o1ZixMj1uBG+VOtOXJ4S3wVz+XknDCfcbK6CEe/VDnztRztTN9OXeYmPrd16SD1qs2yL0wBj/1pwf3iV9reVjq1doqT0ablssiCYaNyeIuztnTbwxWkLuVkjFaqW0ud4na/erZrhV9dmiqbWGnz4ifzGG4LeuQd1U9MU6kApSV9o1hV3Ms2Aeoi9zNW0KxMnU5KxpQstCg1CIAnx/zn+6vL/WxnJz1k7JJnofbIWo5rSmfUzoUnFctJM9AyaRi7OFk9dmk3GDh2ERbFl170411c7vIyjWH8M3t23zSnqJ0FsW7cN6aX1m0WqglaRzF7jF3sHBvdKH8aNUfqZ0qaLmtMJ9WjnWOXLAeXALhyrGX6dupyPe3JbLh01Jp1lzIPe0rBGdeN6tLQXzhGa4ssjF0uNpeuwaDTedMlexJ/4tqjDH3aaXfD0M+HeGuFS1XXVrbJTUf1XqcuvgK45glMgWxztSpLIeoi9jMFreqiO9mqLv4THagufuNreb663MeZ2UnP5jvyyY9SfBX756HLFy2E23gul8t56BNbwnazeK4zp3myNFwss3SCZ9n4NzsmD4ZanGsypYW5S+cMl2VBd97ZyI2zWrCoYVkUjeJc02VORlQ2q6sSBkt+CzNt1U9LY7S1slF2w9m18VYEMUfFjbKwuldm1yn1M1rQjIrniJXRZtUstAaV9wuLipuXrpZj+dNrfC17vwnGpYZjL5z01Fpu4RqF62bdfuaNVM3yCV9j+9LZewrfdYHuSWG265QiT3leL24LBZj8Ea7sy+LUlimcpXOGq2JBcd7TyBciWVXNxc0xRWJ1Mr3vpx01/XJWNq3SyienxUJWwIbqp6ax2pp74UTaKOYou7EsrOZVZTQg9jNy0IyqW49Vslp6TTN46rbaoIw2vnDfzlHI1Gt8FQd4R3J9LvsTiDixtdZTF5cnUnceYAP0Mw/n+erCSb9cLivV5Tb34LdwpC682XmA9dDPPJ6nqwvdypWV6nJKqB9+JHFpdh5gPfQzT+Dp6gIAAG8I6gIAAPGgLgAAEA/qAgAA8aAuAAAQz8HV5Z3u9HiBsqRPqT3bF6jxAhUKPpoXVRfhWevwfEtW3S/8Qo905K8J2TvCKUKgQrN+ZFk8BPlz9AoFnw7q0pTvFiMH7wyKd1ChLvuBusBH8KLq8hL5vpa6PNG9g0fmqBA2ODaR6mL2ptmlsfKGytsR973lixSTl5wuXwY3TibLBpfMclU/BaIUxVPEwvmCqSyqn8mB2fRUHhCB6nsDFw4vfci97gbhY8JyGP0BuUUgj0luVzrp7WWpnc00Q/kYOezSCcq3Z9XL94bTxrwWU7aoCxyX0LFL1qCu7SD7mbwdNevW0pYm9SDLV1GX7XPeZc2yeL6eJJRE3y64oQ9WLD/TMJRlNj2uv/NcirDkg3ltoIaxLSCj/JpiK+tVZSkoX3CbqLf+NQRB4ZYnqOKeU12ceZUzaoxd4NiEqkvxuYP0Wz3zO+TEK1Ptdf33LeVMtdZWL0LbL9+87lWXEuEzVYYbtmPmsfXPT9nl8Ud4exibAqK52WDEVxY9Sq4KUDuVa76vVRm7OPJaXZkBnkPsususIeehu433p5Yx7fB+1fi+pe8Xbzf1NWMrL5v1M2O+xLaf0ziv5q74NaiGCG8PY7O6LOfgdsi6oDRYqwILU9oJkrZvVRdvXqgLHJ3gVf2kKUxzNPdrfm18Yl2qz2MIveN+fXWRRkrdcPZd/i/UpSHCD1aXazmX++3IrCiLEKZpV/tHz/QTVCaMUBctL9QFXo3oe8auMnIXl7u8TGOYVWMXoWm9l7poH6R9s7GLmvaBY5ciTPIR1fGEtn2PsYu+HXWBYxOtLtcpsKFPl4C7YejnZlC2Cde6y3L5urkZyxsUHqsu3uycfvojvD2MO6vLyrJ4otQk6tvrg1td/JUBdYFjE/68S3Lb8JV8OuRS6IR1m025JZkHcjbjfOro5lp6WdzYHy2vq02FyDdZfhZfJD4PvTKYK1lxz1h7b2iFsSEgwh1fSyNmZLxlKciuUaaaqYqLZEo5QVlkihrli8zKvIoA+u+GBHgY8U9T5m1A2lB73qUwViQ4nbrh7O0Wp2Nus+yLFt+qLok9240i8fIxDvGqvFgPcF2dtj/v0qwuFz2MbQGZrXTDIBppfd6lceySBUsLrWxKWbBJHnfJi+SLTFNe6yozwHM4+LP60Yz9oV4J8qoQRhnmqgBm3l1dbnNF9x80/nUQRhdEBmDm/dXllEDLXwlhdIG6AMy8u7oAAMAzQF0AACAe1AUAAOJBXQAAIB7UBQAA4kFdAAAgHtQFAADiQV0AACAe1AUAAOJBXQAAIB7UBQAA4kFdAAAgHtQFAADiQV0AACAe1AUAAOJBXQAAIB7UBQAA4kFdAAAgHtQFAADiQV0AACAe1AUAAOJ5V3UZ+9OpG85vlhWUfETwX6OQY3+6cnxX4THEqstUwRKeU9fSBjn2p9OpHx+R1Wvg9LhItnMY1/FKwV/t6wsU8jx0EZXjwSX92/ffpx9/H5XdxxGvLsdoBqiLAeryFN5YXYLEBXV5Lz5BXd4nqyDWqcsheQUf77yxukR5ePySQgOPU5fz0EmzZbdD7nvl6x/z2HHauTSr/C8eUmRkXomVU4CzGcXVctepH8XBgebnqRvOiQGH21pJC9f7UdiiJkvzbT8pdhCrnteDrya7JakG/CyF2NhVjcM5O+lCYS9q+oUDUo5Z0GT7Qhw0I7ZLt2SLA/Mi3rPQ66TW2OUiGA0q4W/ff3fj3+Hr+9R/n/rvbvyX7f/5+7r91H93X79O/a/hv+mof7aF8cf3Pf3lcrlc/vvT6SOe8/hrzmj24ZbRfe/v0fLqfXiQupyHrqh3RWdnXLBUj71VwyxzS12UQzLblk4WU0RJUt3V4tfYd8O51tnlfpYNd3JAcdsZnMvlMo5JK08KZ7i37qSUcTTyVS3owc/IQzT21RIZIbai31Kx7QvzigNi5NPTLQdTjoOzqgtt06hszmRmY7fsFE0o52/ff5/67/7n5XK59tpJT/3z97zr8m/4+tbURbHwb/j6Pn39uZ3XH/P/BecxUYj//nQL45nmqV69D/uv6gsX6Wmdr46F/cfa45Xl/+YudSZ5sWM+rrWYbmfWuO03rjnVYMF3Ukxc+RrB16wZW82Y6Kd17Rmvq4sjF18tnVJ54qBW9VoRXJXNSFbN0QhvQaoTxc9/w1c+1JiVYzl2ES0kUlHoluXDVWyuw5Ryl+nV+/CQscuyUhhNd/2x29SlzGjsxYps+NO0y3bGry6q223qIs1u+DN1nhSBuHwlu+WelpgYfeK0q61iN6qL6IBZS4VginFwVnXLpeJAW660OlnL0X+6DW347083DxEul8sqdbmPS7qvxZzbhDejauL34SHqstzsv5xpOHabukjjrjalNFydpyqMsq1SF9XtNuPSTjvTFSdFKH5bvg3dzXKVqyngPnVpq9gR6mKebrE0QhycVV0eTjkqm7dO1oJghbdgd3Up5scElvIwZ426BPBOY5d2fw4xdmk3ribceewSnK9GevXeqi5KFZ127T52WZiqToWpWSVx8N4/XB27KCkbptoa7Tx37PL1qyslJ4Gxy4LHrOqX219g3cVfRr1DecK6ywrjK3r5lSfF6WBLYT0nbdValHHu1u1qVRfFlGLEE/WG9Q/NyorKZhtss7Nq3WXRs69dd+l/2hrQtO5iePU+HOKeMcfFp+fYjepS3pNyHnq1VyzvBE2vLEVXxXvGhAmMdnXR3LYO0Y/PimOo0KqTkqPmW/NcCX5hO1+NWE6NCQGX78OzdrVVbLOuVxyonG4lmFocfFVdGwFVK5s3WTXLpnvGNG0YfyQ3AV/vJ25Tl3QFPpsfu95hPB1l3zNWDHp0r5RFwxfkKM+72HZ9x25VlyIjY+7g2nxviYTRvDyXra0E3NOuG7tYlm0Lc+q5PN0wLDrzWzIrU7+rShzTfCsWjOArsRaPlgLe6SWSd/njIIV9sctyoFpLxWCqcfBUdTm4jsrWkEzMND3GaFAJlXmt8cf3/cmS32Pb2OV6r/DvOUDJ8y6FukxbtOddyqLKXqEuAG+F0fE555H2cwBC+fk7U4uDcEyvtoG6AFxQl5dmGi68wd+zYxkJ6gJwQV3emeSFK8JLYp7FMb0KBXUBAIB4UBcAAIgHdQEAgHhQFwAAiAd1AQCAeFCXLXCfTyzep+2eenMXALjYR12Sx6krz9gel/zNHHqa1ylb/T1XnlcbRpPmexx12ePM8hV3+Czi1eWqLOWbTV+nD76DujwG1AXgPYlWl2f1Uc/hndTlCLy3ugB8FrHqYr3FNEmhvadvnHfeXvC6JWWRXfa2v24433cJL8tbfBmqmOkrTclFTQ8SXzosvV5TKomxqxrSc1YuoQiXIr3uvFG8yaBQAe52PTFsiLkRKCky2gWPmIuW9cT1pYR/hy/lQevkMezu65f+zkTBwvgj/7568s7EJek7E6c05osU5xxPX3/Ot1c0vu2z4vBcQtWlJi7268pP5YuDs5T3Ju5PmeWQdDzFMUvHr6/Hz3q6sfiUe/XjNLknY+/6II1SEquQ1ZC6X0ed7JWdL9PLMZHeaNwNZ18MvTE3AjXlrZx9Xykqsfrb99+n6etPxZc5fv6ed926b1ldFAvZO97HH+r3ELP3vV/+9l9/zrWXwOc5fhcps49ZAWzmkeoiXlp6Pjm17tX0+a7mT9IaPZL2rvjq0f5ymbnou2K+XrViWkhzaexrXyk0g+AossuU82uMnjN7ubi/BXK5XNZ/q6ob/zV9q0rcqH/AqvqhX4CtPFBd1n8ud5W6lNlN/dyi43B9ljifOqv2QfInGlrUxfNd952+vOv+voQUk0WpEv9qMVwVczFQ6tl3lmKtugR+Z7f/1X21fGe3Ife6AwDbeaC6LBus65O0l5XqUkyezz2HePFrq8vV1tIFqw9q/KLXKnVpCGnFW2laSV93sGJSxief0rRjuCrmYpHVs+8sxZPVpZgfE8jm35Z53Zn9QV3g0TxwVf/JYxchV9WxIpmaiWcKKR0ItKqL0Z92w3m3sYvsvJk8+3n/UYpLNYarYi4GqnkqrJZLxkPGLl+/OqPHZ+wChyf4juRrb6S0av8iQYS6qB2Es9uNUhfnEM0fnJW7VqmL3k2b5+Ha4Q/pY067qYtSZN+pCVeXZTe9dt2l/ymNRVQf5I2su8ATeejTlPYNTtHqUo6kzkOvdRyVe8aEe7EqfdB56PJb15ZTY7fJp8yseLubtcsfUmWTtFNzviyhNou1LJw3ht6YK/fMec6+txRmrKyuefyRfIb9ej9xm7qk9wVk82PFV9xX3DPmVJe3+a47PJdHvwnGfjjD8bNBXYrs7AfCzedd0hJ1w+C4ws3MpUkmQ91wXpSr04Mj7/KHtMjdfN5FdV4xlsUkcUoQNzuG7pj3fSf45zn7/lIYsapc+I8/pm8O/h7bxi7XO5iT76snz7sU6jJtaXneBXWBx8FbLA+Cca3sm+SBY/Lzd6YWAB8D6nIQUJeXIf0c+vv9PTu68D6gLgcBdXkXktfA8IYV+GRQFwAAiAd1AQCAeFAXAACIB3UBAIB4UBcAAIgHdQEAgHhQFwAAiAd1AQCAeFAXAACIB3UBAIB4UBcAAIgHdQEAgHhQFwAAiAd1AQCAeFAXAACIB3UBAIB4UBcAAIgHdQEAgHhQFwAAiAd1AQCAeFAXAACI52nqMvanUzecD2ltNeehO13px2f7AgDwTHZSl7E/qXTD+S3F5WlOnIfuAMU/ihsAcAx2H7vIfc77icvzfDhIr34QNwDgIOytLogLAMAnsrO6WOIy9Nlc2Zy+mESrHJJ37DcD5bLHeejKjelhabZzqvIgTUHyaUDb5t3I7ZilOTvTNKvb1jSBEaXy8K5bRCTLsdWIy42xz+1dY4QqA7wj+6qLLi5Tl5slOY/jWTxYPyTp1oy5mbLPTn6PfdL9p+m84iLsUm1OXbO26m9kWhjtl2U2olT8vHbrqrg0G/G6kZZBUHwAeB92VRfPtJjRx4y9dGEsdNfdcK5MTeW5nIcuFaQ090Kr1oiLYbM6gaZnKsdJDEV1lxX1VUa8bszygrQAvDt7qotbXBaX/cXsj3HI2N/mZyrTK7NSJdoidPbTltXiYtjcIC63uBT9ca1X14rZJC51I0435t3qrBwAvA07qkvzyCXvQN0jF3l1oGCydh46Y2rGFBelP1yu+2gLPGvEZfopLLk4hwzbxKVuxD9ymcrBUgvA27OfujSKS9EPFQsjjmkx+2L41lEv+mtPh3nxi4vZk28SlyyRoICvIS6MXAA+ht3URRQXXULUPfoh6tK8xNifTn3fa6amNPqai2zdcK+wGSMuyvDKFyXFR0dZDCNONxLPWXMB+AT2UpdGcVneTNQkLvVn+aR7XzNJ0m7zut9Y7BIXy2b1iRg107Evbklu6tWFm7aaxcUw4nWjvGM5N43YALwdO6mLeHlqXtneO9TT6dT1fdvIZT5e7b6TpfyEdC0j83b2phtG/VJbKqZs03O9rmWa3eggCGBtAJWE9tQPK0YuhhGPG8tTk8iLeLcCALw+n/GOZGPZ5MOQVfYZRgDgvfkEdflkbTkPXdsAajcjAPBZvL261G8ne2fS+azVcQgxAgAfxturCwAAPAHUBQAA4kFdAAAgHtQFAADiQV0AACAe1AUAAOJBXQAAIB7UBQAA4kFdAAAgHtQFAADiQV0AACAe1AUAAOJBXQAAIB7UBQAA4kFdAAAgHtQFAADiQV0AACAe1AUAAOJBXQAAIB7UBQAA4kFdAAAgHtQFAADiQV0AACAe1AUAAOJBXQAAIB7UBQAA4kFdAAAgHtQFAADiQV0AACAe1AUAAOJBXQAAIB7UBQAA4kFdAAAgHtQFAADiQV0AACAe1AUAAOJBXQAAIB7UBQAA4kFdAAAgHtQFAADiQV0AACAe1AUAAOJBXQAAIB7UBQAA4kFdAAAgHtQFAADiQV0AACAe1AUAAOJBXQAAIB7UBQAA4kFdAAAgHtQFAADiQV0AACCe/wOeuaXSJxkPVAAAAABJRU5ErkJggg==" alt="" width="543" height="170" />

2、安装MySQL

[root@cloud nginx-1.9.]# cd /usr/local/src/
[root@cloud src]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.29-linux-glibc2.5-x86_64.tar.gz # 下载MySQL
[root@cloud src]# groupadd -g mysql  # 创建mysql组和mysql用户
[root@cloud src]# useradd -u -g -s /sbin/nologin mysql
[root@cloud src]# tar xf mysql-5.6.-linux-glibc2.-x86_64.tar.gz  # 解压mysql压缩包
[root@cloud src]# ln -vs /usr/local/src/mysql-5.6.-linux-glibc2.-x86_64 /usr/local/mysql  # 创建mysql软连接到/usr/local/mysql
"/usr/local/mysql" -> "/usr/local/src/mysql-5.6.29-linux-glibc2.5-x86_64"  
[root@cloud nginx]# cd /usr/local/mysql/
[root@cloud mysql]# rpm -qa | grep mysql   # 查看系统是否默认安装有mysql包
mysql-libs-5.1.-.el6_3.x86_64
[root@cloud mysql]# rpm -e --nodeps mysql-libs  # 强制卸载mysql-libs包
[root@cloud mysql]# cp -a support-files/my-default.cnf /etc/my.cnf  # 拷贝my.cnf配置文件到/etc/my.cnf
[root@cloud mysql]# mkdir /data  # 创建MySQL数据存放目录
[root@cloud mysql]# vim /etc/my.cnf  # 修改mysql配置文件
datadir=/data # 插入到[mysqld]模块中
#保存退出
[root@cloud mysql]# cp -a support-files/mysql.server /etc/init.d/mysqld  # 复制服务脚本到/etc/init.d目录
[root@cloud mysql]# chmod +x /etc/init.d/mysqld  
[root@cloud mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/  # 初始化MySQL
[root@cloud mysql]# service mysqld start
Starting MySQL. [确定]
[root@cloud mysql]# vim /etc/profile.d/mysql.sh  # 将mysql命令添加到环境变量中
export PATH=$PATH:/usr/local/mysql/bin
# 保存退出
[root@cloud bin]# source /etc/profile.d/mysql.sh  
[root@cloud bin]# mysql  # 执行mysql命令,
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is
Server version: 5.6. MySQL Community Server (GPL) Copyright (c) , , Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> [root@cloud bin]# vim /etc/ld.so.conf.d/mysql.conf  # 添加mysql模块
/usr/local/mysql/lib
[root@cloud bin]# ldconfig -v | less # 查看MySQL库是否添加成功
[root@cloud lib]# ln -vs /usr/local/mysql/include /usr/include/mysql  # 创建mysql头文件的软连接
"/usr/include/mysql" -> "/usr/local/mysql/include"
[root@cloud lib]# service mysqld restart  # 重启服务
Shutting down MySQL.. [确定]
Starting MySQL. [确定]

至此,MySQL数据库安装完成。

3、安装php

这里安装的是PHP-5.6.7

编译php之前需要安装几个支持加密功能的包

[root@cloud php_bak]# ll
总用量
-rw-r--r-- root root 7月 libmcrypt-2.5.-.el6.x86_64.rpm
-rw-r--r-- root root 7月 libmcrypt-devel-2.5.-.el6.x86_64.rpm
-rw-r--r-- root root 7月 mhash-0.9.9.9-.el6.x86_64.rpm
-rw-r--r-- root root 7月 mhash-devel-0.9.9.9-.el6.x86_64.rpm 下载地址:http://pan.baidu.com/s/1hrwZ5Z2
[root@cloud ~]# cd php_bak
[root@cloud php_bak]# rpm -ivh *
[root@cloud php_bak]# cd /usr/local/src/
[root@cloud php_bak]# yum install  libmhash-devel libmcrypt-devel libxml2-devel libmhash-devel bzip2-devel libcurl-devel gd libjpeg-turbo-devel libpng-devel freetype-devel -y
[root@cloud src]# tar xf php-5.6..tar.gz
[root@cloud src]# cd php-5.6.
[root@cloud php-5.6.]# ./configure --prefix=/usr/local/php --enable-fpm --enable-ftp \
--enable-zip --enable-xml --enable-sockets --enable-bcmath --enable-pcntl --enable-shmop \
--enable-soap --enable-sysvsem --enable-mbstring --enable-mbregex --enable-inline-optimization \
--enable-maintainer-zts --enable-gd-native-ttf --with-fpm-user=www --with-fpm-group=www \
--with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-openssl --with-freetype-dir \
--with-iconv-dir --with-jpeg-dir --with-png-dir --with-libxml-dir=/usr --with-curl --with-zlib --with-bz2 \
--with-xmlrpc --with-gd --with-config-file-path=/usr/local/php/etc --with-config-file-scan-dir=/usr/local/php/etc/php.d \
--with-mhash --with-mcrypt --without-pear --with-gettext --disable-rpath --disable-fileinfo # 在检查期间,会提示少模块或者文件,缺少什么就安装那个包就好 [root@cloud php-5.6.7]# make && make install  # 会等很久
[root@cloud php-5.6.]# cp -a sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@cloud php-5.6.]# chmod +x /etc/init.d/php-fpm
[root@cloud php-5.6.]# cp -a php.ini-production /usr/local/php/etc/php.ini
[root@cloud php-5.6.]# cd /usr/local/php/etc
[root@cloud etc]# cp -a php-fpm.conf.default php-fpm.conf
[root@cloud etc]# ls
php-fpm.conf php-fpm.conf.default php.ini
[root@cloud etc]# service php-fpm start
Starting php-fpm done
[root@cloud etc]# netstat -ntplu | grep php-fpm
tcp 127.0.0.1: 0.0.0.0:* LISTEN /php-fpm

到此,php安装完成。接下来对nginx配置文件做调整:

user  nginx nginx;  # 指定用户和组
worker_processes ;  # 该参数根据cpu核心数 error_log logs/error.log;  # 开启错误日志
#error_log logs/error.log notice;
#error_log logs/error.log info; pid logs/nginx.pid; worker_rlimit_nofile ;  # 表示每个worker进程能打的最大连接数 events {
use epoll;  # 启用epoll模式
multi_accept on;  # 尽量多的接收请求
worker_connections ;
} http {
include mime.types;
default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'; access_log logs/access.log main;
open_log_file_cache max= inactive=20s min_uses= valid=1m;  # 日志缓存信息
proxy_set_header X-Real-IP $remote_addr;  # 当nginx用作反向代理时,记录真实IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;   # 当nginx作为反向代理时,记录所有经过的代理和真实IP limit_conn_zone $binary_remote_addr zone=addr:5m;  # 共享session空间为5M
limit_conn addr ;  # 每个IP并发量最大100 sendfile on;  # 不经过用户空间直接响应客户端
tcp_nopush on;  # 等到数据包最大时,一次性的传输出去
tcp_nodelay on;  # 有一个数据包就马上发送一次 #keepalive_timeout ;
keepalive_timeout ;
client_header_timeout 2m;  # 客户端header响应时间
client_body_timeout 3m;
reset_timedout_connection on;
send_timeout 15s;  # 在两次客户端读取操作之间。如果在这段时间内,客户端没有读取任何数据,nginx就会关闭连接。 open_file_cache max= inactive=20s;  # 这个将为打开文件指定缓存,默认是没有启用的,max 指定缓存数量,建议和打开文件数一致,inactive 是指经过多长时间文件没被请求后删除缓存。
open_file_cache_valid 30s;  # 这个是指多长时间检查一次缓存的有效信息。
open_file_cache_min_uses ;  # 大于2才进行缓存
open_file_cache_errors on;  # 缓存错误信息 gzip on;  # 开启压缩
gzip_disable "msie6";  # IE6禁止压缩
gzip_proxied any;  # 任何文件都压缩
gzip_comp_level ;  # 压缩等级
gzip_vary on;  # 通过客户端判断压缩
gzip_min_length 1k;  # 压缩的最小容量
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;   # 压缩格式,根据需求调整 server {
listen ;
server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / {
root html;
index index.html index.htm;
} #error_page /.html; # redirect server error pages to the static page /50x.html
#
error_page /50x.html;
location = /50x.html {
root html;
} # proxy the PHP scripts to Apache listening on 127.0.0.1:
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:
# ------------------------------------------------------------------------------------
location ~ \.php$ {  # 开启以.php结尾的文件
root html;
fastcgi_pass 127.0.0.1:;  #通过fastcgi转发到本地的9000端口
fastcgi_index index.php;    # 主页
include fastcgi.conf;  # 扩展配置文件
}
----------------------------------------------------------------------------------------
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
} # another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen ;
# listen somename:;
# server_name somename alias another.alias; # location / {
# root html;
# index index.html index.htm;
# }
#} # HTTPS server
#
#server {
# listen ssl;
# server_name localhost; # ssl_certificate cert.pem;
# ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on; # location / {
# root html;
# index index.html index.htm;
# }
#} }

nginx.conf 修改配置完毕,添加测试页面:

[root@cloud html]# vim  /usr/local/nginx/html/test.php
<?php
$conn=mysql_connect('localhost','root','');
if ($conn)
echo 'success.';
else
echo 'fail.';
?>
# 保存退出,该测试页测试能否正常连接MySQL

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAA6CAIAAAC4UMVfAAABDElEQVR4nO3VwQ6CMBAA0f7/T+ONKOxuuxElGeadzKYU7QQcm9DG3V9Av2VgOAPDGRjOwHAGhjMwnIHhDAxnYDgDwxkYzsBwBoYzMNwk8Pi0Tw4LwkuyrbL96/vWc2WqMzofej3vfu7uX9xXmUbgbJ4FWNknfCK7+6jQeEW/Dw9rwnm2fjrP7lvMlWkcU/cVel6wOL/28of79j+4eLj/9h/sA12YBJ6+KreocXji66/c7L71vPGjn8RzgTMwnIHhDAxnYDgDwxkYzsBwBoYzMJyB4QwMZ2A4A8MZGM7AcAaGMzCcgeEMDGdgOAPDGRjOwHAGhjMwnIHhDAxnYDgDwxkYzsBwBoYzMJyB4V5AydT99ZJocQAAAABJRU5ErkJggg==" alt="" />表示连接成功。测试php页面

aaarticlea/png;base64,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" alt="" />

测试成功。

[ 手记 ] LNMP安装过程及优化的更多相关文章

  1. LNMP安装过程

    LNMP一键安装包是什么? LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat/Fedora.Debian/Ubuntu/Raspbian/Deepin VPS或独 ...

  2. 记一次在新服务器上搭建lnmp的过程

    背景: 前不久阿里云在做活动,200+一台服务器三年,于是果断入手了一台. 今天有空就在服务器上把lnmp环境给装了,之前为了了解安装过程,在别的机器上尝试过单独安装nginx.mysql.php,虽 ...

  3. Debian/Ubuntu/CentOS VPS安装Net-Speeder并优化

    安装过程: CentOS安装 wget --no-check-certificate https://gist.github.com/LazyZhu/dc3f2f84c336a08fd6a5/raw/ ...

  4. vmware下linux系统的安装过程

    虚拟机VMware下CentOS6.6安装教程图文详解 [日期:2016-05-24] 来源:Linux社区  作者:Sungeek [字体:大 中 小]   分享下,虚拟机VMware下CentOS ...

  5. lnmp安装--php与nginx结合

    软件环境: linux:centos5. nginx:.tar.gz php:.tar.gz lnmp与lamp的区别? lnmp(linux+nginx+mysql+php)的提法相对于lamp(l ...

  6. SDPLR的安装过程(matlab)

    SDPLR 半正定规划优化工具的安装过程很简单,只要按照SDPLR 1.03-beta User's Guide (short version).pdf的介绍安装就可以. 运行在下载的工具包目录里运行 ...

  7. Centos6.5中 一键安装LNMP 安装Yii2.0 手工配置

    1.一键安装LNMP cd /usr wget -c http://soft.vpser.net/lnmp/lnmp1.2-full.tar.gz tar zxf lnmp1.-full.tar.gz ...

  8. LNMP安装Let’s Encrypt 免费SSL证书方法:自动安装与手动配置Nginx

    前几天介绍了最新StartSSL免费SSL申请与配置,很多人看到部落介绍SSL证书安装时总是推荐了OneinStack,因为OneinStack提供了一键添加和配置Let's Encrypt 免费SS ...

  9. vue.js 安装过程(转载)

      一.简介 Vue.js 是什么 Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的 渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核 ...

随机推荐

  1. [Linux] 服务器镜像定时备份解决方案 crontab+rsync+flock

    两台服务器定时同步文件解决方案: 环境: 主机:192.168.1.1 镜像机:192.168.1.2 需要将主机内容备份至镜像机(假设用户都为root) 备份内容为 /export 目录下所有内容至 ...

  2. c++知识点总结--函数模板

    通用函数可变参模板 用于处理不限定参数的函数 showall(){//空函数,接口,最后结束递归 } template<typename T,typename... Args> void ...

  3. Python之tornado框架实现翻页功能

    1.结果如图所示,这里将html页面与网站的请求处理放在不同地方了 start.py代码 import tornado.ioloop import tornado.web from controlle ...

  4. mysqldump: Got error: 1135: Can't create a new thread (errno 11); if you are not out of available memory, you can consult the manual for a possible OS-dependent bug when trying to connect 解决办法

    在进行数据库备份的时候发现服务器报 mysqldump: Got error: 1135: Can't create a new thread (errno 11); if you are not o ...

  5. http短连接大量time wait解决方案

    tcp连接是网络编程中最基础的概念,基于不同的使用场景,我们一般区分为“长连接”和“短连接”,长短连接的优点和缺点这里就不详细展开了,有心的同学直接去google查询,本文主要关注如何解决tcp短连接 ...

  6. 【bzoj1787】[Ahoi2008]Meet 紧急集合 倍增LCA

    题目描述 输入 输出 样例输入 6 4 1 2 2 3 2 4 4 5 5 6 4 5 6 6 3 1 2 4 4 6 6 6 样例输出 5 2 2 5 4 1 6 0 题解 倍增LCA 首先有集合点 ...

  7. [CF912B]New Year's Eve

    题意:在1~n中选不超过m个数,求其异或最大值 题解:经过找规律发现如果m为1,输出n,不然输出最小的不超过n的2^k-1 C++ Code: #include<cstdio> using ...

  8. BZOJ1305 [CQOI2009]dance跳舞 【网络流】

    1305: [CQOI2009]dance跳舞 Time Limit: 5 Sec  Memory Limit: 162 MB Submit: 3714  Solved: 1572 [Submit][ ...

  9. POJ3450 Corporate Identity 【后缀数组】

    Corporate Identity Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 7662   Accepted: 264 ...

  10. CF858F Wizard's Tour 解题报告

    题目描述 给定一张 \(n\) 个点 \(m\) 条边的无向图,每条边连接两个顶点,保证无重边自环,不保证连通. 你想在这张图上进行若干次旅游,每次旅游可以任选一个点 \(x\) 作为起点,再走到一个 ...