Nginx 是一个高性能的 HTTP 和 反向代理 服务器
安装nginx
Nginx依赖
安装 pcre,支持 rewrite
yum install pcre*
安装 openssl,需要 ssl 的支持
yum install openssl*
安装
# ./configure --prefix=/usr/local/nginx \ --with-http_ssl_module \ --with-http_stub_status_module --with-pcre #–with-http_stub_status_module:支持 nginx 状态查询 #–with-http_ssl_module:支持 https #–with-pcre:为了支持 rewrite 重写功能,必须制定 pcre make && make install
启动 关闭 nginx
启动 /usr/local/nginx/sbin/nginx
关闭 /usr/local/nginx/sbin/nginx -s stop
或者
添加启动脚本
#!/bin/sh # # nginx - this script starts and stops the nginx daemin # # chkconfig: - 85 15 # description: Nginx is an HTTP(S) server, HTTP(S) reverse \ # proxy and IMAP/POP3 proxy server # processname: nginx # config: /usr/local/nginx/conf/nginx.conf # pidfile: /usr/local/nginx/logs/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 0 nginx="/usr/local/nginx/sbin/nginx" prog=$(basename $nginx) NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" lockfile=/var/lock/subsys/nginx start() { [ -x $nginx ] || exit 5 [ -f $NGINX_CONF_FILE ] || exit 6 echo -n $"Starting $prog: " daemon $nginx -c $NGINX_CONF_FILE retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } stop() { echo -n $"Stopping $prog: " killproc $prog -QUIT retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { configtest || return $? stop 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 2>&1 } case "$1" in start) rh_status_q && exit 0 $1 stop) rh_status_q || exit 0 $1 restart|configtest) $1 reload) rh_status_q || exit 7 $1 force-reload) force_reload status) rh_status condrestart|try-restart) rh_status_q || exit 0 *) echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" exit 2 esac
nginx添加清缓存模块安装
tar xf ngx_cache_purge-2.3.tar.gz -C /usr/local/ngx_cache_purge 进入nginx源文件 重新配置 # ./configure --prefix=/usr/local/nginx \ --with-http_ssl_module \ --with-http_stub_status_module --with-pcre --add-module=/usr/local/ngx_cache_purge make 不需要make install 复制obj目录下面的nginx二进制文件到/usr/local/nginx/sbin下 cp obj/nginx /usr/local/nginx/sbin 查看加载的模块 nginx -V
内核参数优化
vi sysctl.conf 增加以下配置 net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 1800 net.ipv4.ip_conntrack_max = 16777216 # 如果使用默认参数,容易出现网络丢包 net.ipv4.netfilter.ip_conntrack_max = 16777216# 如果使用默认参数,容易出现网络丢包 net.ipv4.tcp_max_syn_backlog = 65536 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_timestamps = 0 net.ipv4.tcp_synack_retries = 2 net.ipv4.tcp_syn_retries = 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 –p
简单站点配置
server { listen 80; # 在本机所有 ip 上监听 80 server_name www.jwh5566.com;#域名 location / { index index.html index.htm;# 索引文件 } error_page 500 502 503 504 /50x.html; #定义错误页面,如果是 500 错误,则把站点根目录下的 50x.html 返回给用户 location = /50x.html { root /www/html/www.jwh5566.com;站点根目录 }
测试
mkdir –p /www/html/www.jwh5566.com
echo “www.jwh5566.com” > /www/html/www.jwh5566.com/index.html
打开浏览器访问http://www.jwh5566.com即可!