楼主: zhuchaotest
1043 0

java基础教程 [推广有奖]

  • 0关注
  • 0粉丝

小学生

35%

还不是VIP/贵宾

-

威望
0
论坛币
4 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
93 点
帖子
3
精华
0
在线时间
6 小时
注册时间
2018-3-19
最后登录
2020-5-7

楼主
zhuchaotest 在职认证  发表于 2018-3-19 10:28:14 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

大纲

一、前言

二、环境准备

三、安装与配置Nginx

四、Nginx之反向代理

五、Nginx之负载均衡

六、Nginx之页面缓存

七、Nginx之URL重写

八、Nginx之读写分离

注:操作系统为CentOS6.5 x84_64,Nginx是最新版1.4.4

一、前言

       在前面的几篇博文中我们主要讲解了Nginx作为Web服务器知识点,主要的知识点有nginx的理论详解、nginx作为web服务器的操作讲解、nginx作为LNMP架构的讲解,不清楚的博友可以回头看看,在这一篇博客中我们主要讲解, nginx的反向代理、负载均衡、缓存、URL重写以及读写分离详解。好了,下面我们来具体说一说。

二、环境准备

1.操作系统:CentOS 6.5 x84_64

2.软件:Nginx 1.4.4

4.安装源:

[root@localhostnginx]# rpm -ivh  http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

[root@web1 ~]# rpm -ivh  http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

5.各节点时间同步

(root@nginx ~)# ntpdate 202.120.2.101   

(root@web1 ~)# ntpdate 202.120.2.101   

(root@web2 ~)# ntpdate 202.120.2.101

6.关闭防火墙与selinux

#service iptables stop  chkconfig iptables off   getenforce

三.安装Nginx

1.解压

[root@localhostnginx]#tar -zxvf nginx-1.4.4.tar.gz

2.新建nginx用户与组

[root@localhostnginx]# groupadd -g 108 -r nginx

[root@localhostnginx]#useradd -u 108 -r -g 108 nginx

[root@localhostnginx]#id nginx

3.准备编译配置文件

[root@localhostnginx]#yum -y install pcre-devel openssl-devel

[root@localhost nginx-1.4.4]#./configure--prefix=/usr/ --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx.conf--error-log-path=/var/log/nginx/error.log--http-log-path=/var/log/nginx/access.log--pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx  --with-http_ssl_module  --with-http_flv_module--with-http_stub_status_module  --with-http_gzip_static_module  --http-client-body-temp-path=/var/tmp/nginx/client/  --http-proxy-temp-path=/var/tmp/nginx/proxy/  --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/   --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi  --http-scgi-temp-path=/var/tmp/nginx/scgi   --with-pcre

4.编译安装

[root@localhost nginx-1.4.4]# make&& make install

5.nginx提供SysV init 脚本

[root@localhost nginx-1.4.4]# cat/etc/init.d/nginx

#!/bin/sh

#

# nginx - this script starts and stops thenginx daemon

#

# chkconfig:   - 85 15

# 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 0

nginx="/usr/sbin/nginx"

prog=$(basename $nginx)

NGINX_CONF_FILE="/etc/nginx/nginx.conf"

[ -f /etc/sysconfig/nginx ] && ./etc/sysconfig/nginx

lockfile=/var/lock/subsys/nginx

make_dirs() {

   #make required directories

  user=`nginx -V 2>&1 | grep "configure arguments:" | sed's/[^*]*--user=\([^ ]*\).*/\1/g' -`

  options=`$nginx -V 2>&1 | grep 'configure arguments:'`

  for opt in $options; do

      if [ `echo $opt | grep '.*-temp-path'` ]; then

          value=`echo $opt | cut -d "=" -f 2`

          if [ ! -d "$value" ]; then

               # echo "creating"$value

               mkdir -p $value && chown-R $user $value

          fi

      fi

  done

}

start() {

    [-x $nginx ] || exit 5

    [-f $NGINX_CONF_FILE ] || exit 6

   make_dirs

   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

   sleep 1

   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

6.为此脚本赋予执行权限

[root@localhost ~]# chmod +x/etc/init.d/nginx

7.添加至服务管理列表,并让其开机启动

[root@localhost ~]#chkconfig --add nginx

[root@localhost ~]#chkconfig --list | grepnginx

[root@localhost ~]#chkconfig nginx on

8.启动nginx

[root@localhost ~]#service nginx start

9.查看一下端口

[root@localhost ~]#netstat -ntlp |grep 80

10.测试一下

四.Nginx之反向代理

在配置nginx反向代理之间我们得先准备两台测试服务器,web1web2

1.      安装httpd

[root@web1 ~]#yum –y install httpd

[root@web2 ~]# yum –y install httpd

2.      提供测试页面

[root@web1 ~]# echo “<h1>web1.test.com</h1>”>/var/www/html/index.html

[root@web2 ~]# echo “<h1>web1.test.com</h1>”>/var/www/html/index.html


3.      启动httpd服务

[root@web2 ~]# service httpd restart

[root@web1 ~]# service httpd restart




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝


您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2026-1-9 14:51