学习淘淘商城终结篇(系统部署演示)

       首先说下淘淘商城在真实环境中要部署的话需要多少台服务器

       服务所需的服务器数量至少是24台,如下所示。

需要24台服务器。 24
Mysql 2
Solr 7
Redis 6
图片服务器 2
Nginx 2
注册中心 3
Activemq 2

        工程共12个,如下所示,本着高可用的原则,每个工程至少有两台服务器。12个工程至少需要24台服务器。

Taotao-manager
Taotao-manager-web
Taotao-portal-web
Taotao-content
Taotao-search
Taotao-search-web
Taotao-item-web
Taotao-sso
Taotao-sso-web
Taotao-cart-web
Taotao-order
Taotao-order-web

         这样,总共需要的服务器总数至少是48台。但我们都知道,一般的小公司是绝不可能弄这么多服务器的,太昂贵了,比较可行的是采用伪分布式,如下图所示,搭建服务原来需要24台服务器,现在只需要7台即可。


          搭建工程规划使用5台服务器便可,如下图所示。


         这样规划的话,我们只需要7+5=12台服务器即可。当然了,12台服务器在一般的公司来说,也是达不到的,那么我们便可以进一步压缩,把更多的服务合并到一台服务器上,把更多的工程合并到一台服务器上。

        首先我们来部署下taotao-manager工程,根据规划,taotao-manager工程应该部署到IP为192.168.156.43这台服务器上,要部署该工程,大家可以参考上篇博客http://blog.csdn.net/u012453843/article/details/73656590的方法二。上篇博客部署taotao-manager刚好就是部署在了192.168.156.43这台服务器上,我们不用改动。部署成功后,我们可以在dubbo的管理页面看到如下图所示的注册信息。


       下面我们来部署第二个服务,就是taotao-content服务,根据规划,这个服务也将被部署到192.168.156.43这台服务器上。首先我们在192.168.156.43这台服务器上新解压一个tomcat到/usr/local目录如下所示。

[root@taotao-tomcat1 software]# ll
总用量 336900
-rw-r--r--. 1 root root   8234674 3月  15 01:03 apache-tomcat-7.0.47.tar.gz
-rw-r--r--. 1 root root 153530841 5月  21 2016 jdk-7u80-linux-x64.gz
-rw-r--r--. 1 root root 183212596 4月   2 10:51 jdk-8u112-linux-x64.gz
[root@taotao-tomcat1 software]# tar -zxvf apache-tomcat-7.0.47.tar.gz -C /usr/local/
        我们到/usr/local目录下,将刚解压好的apache-tomcat-7.0.47更名为taotao-content,如下图所示。


        在同一台服务器上,tomcat端口号不能一样,根据规划,taotao-content工程的访问端口号是8081,因此我们需要修改下taotao-content这个tomcat的端口号。修改的文件是taotao-content/conf/server.xml。需要修改的端口号有三个,下图是第一个要修改的端口号。


        接着修改第二个和第三个端口,如下图所示。


         这样端口便修改完了,保存退出。下面我们来配置tomcat使其具有热部署功能,修改的文件是与上面server.xml同目录下的tomcat-users.xml,如下图所示。


        添加的配置如下:

<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script"/>
        这样tomcat配置我们便修改完了,下面我们启动taotao-content这个tomcat。启动后,我们访问192.168.156.43:8081,如下图所示。可以正常访问tomcat首页。

        我们再尝试访问tomcat后台管理页面,访问的地址是http://192.168.156.43:8081/manager/html,会让我们输入用户名和密码,由于我们配置热部署的时候,指定了用户名和密码都是"tomcat",因此这里我们都输入"tomcat",如下图所示,然后点击"登录"。


         点击上图的"登录"按钮后,我们可以看到如下图所示界面。说明热部署配置没问题。


        服务端弄好了,现在我们来开始部署taotao-content工程,我们需要先修改下taotao-content聚合工程的pom.xml文件,如下图所示,添加了三行配置,与部署taotao-manager工程不同的是,<url>里面的tomcat热部署地址的端口号有所变化,现在是8081。大家可能会有疑问,<url>配置上面的那个<port>8083</port>有什么用?会不会对部署产生坏的影响。这个其实不用担心,这个port对热部署来说,没有用,这里之所以没有把它删掉是因为我们在Windows系统下开发的时候给这个工程规划的端口是8083,如果需要在Windows系统下启动该工程的话,这个port就是有用的,因此这个<port>8083</port>配置我们不必理会,搁那儿就行。


         改了taotao-content的pom.xml文件后,我们还需要修改下这个工程的taotao-content-service模块的数据库的配置文件,如下图所示,将原来的localhost修改为mysql所在的服务器的IP地址。


        修改完了,下面我们便部署taotao-content工程,在taotao-content工程上右键------->Run As------->Maven build...,如下图所示。


         在弹出的对话框中Goals一栏输入"clean tomcat7:redeploy -DskipTests",其中redeploy代表重新部署,-DskipTests表示跳过测试,然后点击"Run"。


         部署完后,我们到dubbo管理页面,发现多了两个服务,分别是com.taotao.content.service.ContentCategoryService和com.taotao.content.service.ContentService。说明我们的taotao-content工程也部署成功。


          下面根据规划,我们来部署taotao-search工程,这个过程与部署taotao-content几乎是一样的,不一样的无非是修改下tomcat的那三个端口,taotao-manager和taotao-content工程已经占用了8005、8080、8009和8006、8081、8010这两组端口,我们需要给taotao-search工程定义新的端口,就定义为8007、8082、8011这三个。taotao-search工程的pom.xml文件与taotao-content工程添加的三行配置的区别也就是端口号不同而已,这里是8082,如下图所示。


          配置如下:

<url>http://192.168.156.43:8082/manager/text</url>
<username>tomcat</username>
<password>tomcat</password>
         然后修改taotao-search-service这个模块的数据库配置文件,还是将localhost修改为mysql所在的服务器的IP地址192.168.156.41。

         下面便和taotao-content工程一样,使用maven tomcat进行热部署在taotao-search工程上右键------->Run As------->Maven build------->在弹出的对话框中的Goals一栏输入"clean tomcat7:redeploy -DskipTests"------->点击Run。之后我们便可以在dubbo管理页面看到search工程注册的服务了,如下图所示。



         上面在192.168.156.43这台服务器上部署了三个服务,由于工程太多,我无法一一在博客书写,只写三个服务和三个后台工程,其它的大家比葫芦画瓢就行了。三个服务写完了,现在我跳过192.168.156.44服务器规划的两个服务,直接到192.168.156.45这台服务器规划的taotao-manager-web、taotao-portal-web、taotao-search-web这三个后台工程。

          首先要确保新的服务器192.168.156.45上安装的jdk是否与Eclipse开发时所用的jdk版本一致,我Eclipse开发时用的jdk1.8,因此服务器上的jdk版本也要是1.8才行。

         下面我们便来部署第一个后台工程taotao-manager-web,按照老规矩,先在192.168.156.45这台新的服务器上解压一份tomcat,放到/usr/local目录下,并改名为taotao-manager-web,改名的好处是为了好区分,如下图所示。


       taotao-manager-web这个工程是192.168.156.45这台服务器上的第一个工程,它的tomcat端口号我们便不用改了,我们直接修改conf目录下的tomcat-users.xml,从而让该tomcat具有热部署功能,如下图所示,这三行配置与我们前面所有工程热部署配置都一样。


        配置内容如下:

<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script"/>
       下面我们便可以启动taotao-manager-web工程了,启动后,我们访问192.168.156.45:8080,如下图所示,可以访问到tomcat首页。


         再尝试访问tomcat后台管理页面192.168.156.45:8080/manager/html,会让我们输入用户名和密码,我们输入热部署配置的用户名和密码,都是"tomcat",就可以看到如下图所示界面,说明热部署配置没错。


         下面我们便来使用maven tomcat插件热部署taotao-manager-web工程,我们只需修改pom.xml文件,注意这时的IP地址是192.168.156.45,如下图所示。


        配置内容如下:

<url>http://192.168.156.45:8080/manager/text</url>  
<username>tomcat</username>  
<password>tomcat</password>
        别的地方不需要修改,我们在taotao-manager-web工程上右键------>Run As------->Maven build...如下图所示。


       在弹出的对话框中的Goals一栏输入"clean tomcat7:redeploy",勾选下面的"Skip Tests"复选框,然后点击"Run"。如下图所示。


        运行成功后,我们到dubbo管理页面查看消费者信息页面,如下图所示。可以看到有五条消费信息,而消费者都是taotao-manager-web工程。


        上图是什么意思呢?我们看下taotao-manager-web工程的springmvc.xml配置文件就明白了,如下图所示,可以看到该工程引用了5个dubbo服务,所以才会有上图的5条消费信息。这边引入几个服务,上图便会有几条消费信息。


          我们再访问192.168.156.45:8080地址,如下图所示,可以看到现在显示的是淘淘商城后台管理页面,而且点击"查询商品"可以查看到商品信息,这说明该工程部署没问题。


         下面我们来部署taotao-portal-web工程,首先还是解压一份纯净的tomcat到/usr/local目录下,然后将解压后的目录改名为taotao-portal-web,如下图所示。


         由于192.168.156.45这台服务器上已经部署了一个客户端,已经占用了8080等端口,因此这个taotao-port-web工程的tomcat三个端口需要修改,如下图所示,三个端口分别修改为8006、8081、8010。


         下面修改tomcat的tomcat-users.xml文件,使其具有热部署功能。如下图所示。


         配置代码如下:

<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script"/>
        下面我们便可以启动taotao-portal-web工程了,启动后,检查是否能访问tomcat首页及是否能访问,如下图所示。


          接着看是否能访问tomcat后台管理页面,如下图所示,发现也可以。


            下面我们修改下taotao-portal-web工程的pom.xml文件,如下图所示,注意<url>中的IP为192.168.156.45,端口号是8081。


             下面我们在taotao-portal-web工程上右键-------->Run As-------->Maven build...------->在弹出的对话框中的Goals一栏输入"clean tomcat7:redeploy",勾选下面的"Skip Tests"复选框,然后点击"Run"。如下图所示。

           运行成功后,我们在dubbo管理页面的消费者信息当中可以看到多了一个消费者taotao-portal-web,而且该消费者只消费了一个服务,这与taotao-portal-web工程中的spriingmvc.xml配置文件引入的dubbo服务数量是一致的。

           下面我们来访问192.168.156.45:8081,如下图所示,发现可以正常访问淘淘商城首页。(注意:前提是我们启动了taotao-image-server服务,否则图片出不来)

           同理我们再部署下taotao-search-web工程,注意修改tomcat端口号和pom.xml文件中<url>中的IP地址及端口号,部署成功后,我们在dubbo管理页面能够看到taotao-search-web这个消费者。

            由于搜索涉及到跳转,需要修改jsp代码,这里就不测搜索功能了。

            在实际项目中我能访问工程肯定不是访问IP的,而是通过域名访问的,因此我们这里也要配置一下,使我们可以通过域名来访问。首先我们修改下Windows系统本地的HOSTS文件,添加的映射如下所示,其中192.168.156.31这个IP是nginx服务器所在的IP。注意把以前学习的时候配置的关于192.168.156.31这台服务器的映射注释掉或删掉。避免影响测试结果。

192.168.156.31 manager.taotao.com
192.168.156.31 www.taotao.com
192.168.156.31 search.taotao.com
192.168.156.31 item.taotao.com
192.168.156.31 sso.taotao.com
192.168.156.31 cart.taotao.com
192.168.156.31 order.taotao.com
            下面我们到nginx服务器进行配置,添加的配置如下图所示。


          添加的配置如下:

upstream manager.taotao.com{
		server 192.168.156.45:8080;
	}
	upstream www.taotao.com{
		server 192.168.156.45:8081;
	}
	
	server {
        listen       80;
        server_name  manager.taotao.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass   http://manager.taotao.com;
            index  index.html index.htm;
        }
    }
	server {
        listen       80;
        server_name  www.taotao.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass   http://www.taotao.com;
            index  index.html index.htm;
        }
    }
       修改完nginx之后,我们启动nginx服务,如下所示。

[root@taotao-nginx-server nginx]# sbin/nginx
        如果已经启动过nginx了,那么就重启nginx

[root@taotao-nginx-server nginx]# sbin/nginx -s reload
         下面我们便尝试使用域名来访问淘淘商城首页,如下图所示,发现可以正常访问到商城首页。



      
          我们再尝试通过域名访问商城后台管理页面,如下图所示,没有问题。

        至于商城页面之间的跳转及所有的请求,凡是涉及到localhost的,都要修改成域名,这样产品才能上线。我们只需全局搜索localhost即可,找到localhost的地方修改成相应的域名即可。

         至此,淘淘商城所有的内容便说完了,感谢大家一路相伴。    

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值