跳至主要內容

10.系统部署

holic-x...大约 6 分钟项目商城系统

[taotao]-系统部署

1.环境安装

【1】linux安装mysql

步骤1:从mysql的官方网站下载rpm包

步骤2:把rpm包上传到linux系统并安装

# 安装方式1:本地安装
yum localinstall mysql-community-release-el6-5.noarch.rpm

# 安装方式2:在线安装(需要联网)
yum install mysql-community-server

步骤3:安装完成,启动mysql服务并配置

# 启动mysql服务
service mysqld start

# 设置mysql root用户密码(首次启动需要设置用户名密码)
/usr/bin/mysqladmin -u root password 'new-password'

# 为远程连接授权(如果没有授权,远程无法进行连接)
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

// 注意:'myuser'、'mypassword' 需要替换成实际的用户名和密码。且需要登录到mysql上才能执行该指令,否则报指令不存在的问题
mysql -hlocalhost -uroot -p
-h数据库主机
-u用户
-p密码(如果不直接指定密码会提示输入密码)
-P端口号(大写P)

步骤4:完成相关配置之后,使用工具测试连接

​ 随后将taotao相关的表和数据导入新建的数据中,修改工程的相关配置即可使用

【2】系统架构

系统架构图

网络拓扑图

【3】部署规划

服务器规划

​ 需要8台虚拟机

  • 图片服务器 1台 (2台)

  • Nginx 1台 (2台)

  • 数据库 1台 (2台)

  • Taotao-manager 1台 (1台)

  • Taotao-rest 、search、order、sso 1台 (8台)

  • Taotao-portal 1台 (2台)

  • Redis 1台 (6台)

  • Solr 1台 (7台)

域名规划

Taotao-managermanager.toatao.com
Taotao-restrest.taotao.com
Taotao-portalwww.taotao.com
Taotao-searchSearch.taotao.com
Taotao-ssoSso.taotao.com
Taotao-orderorder.taotao.com

​ 使用一个公网ip,要访问很多系统,需使用nginx的反向代理。

​ 需要修改host文件来使用域名,域名都需要指向nginx所在服务器的ip地址。

2.项目部署

【1】IP及端口分配

考虑实际服务器资源有限
实际部署:在同一台服务器上部署不同端口号访问tomcat
后台管理系统taotao-manager:192.168.187.128:8080(图片服务器、redis公用)
服务器层的ip:192.168.187.128
服务层同一台服务器部署多个系统:
taotao-rest		8081
taotao-search		8083
taotao-sso		    8084
taotao-order		8085
taotao-portal:192.168.187.128:8082

​ 根据相应的ip规划全局搜索修改相关的配置文件和引用

【2】tomcat热部署

​ 此处jdk、tomcat安装不做赘述,安装完成之后进行配置(此处使用的是图片服务器)

​ 此处将tomcat解压到相应的目录,启动后测试192.168.187.128:8080,此处部署taotao-manager

​ 访问192.168.187.128:8080/manger,此处提示修改用户名密码选项,首次访问点击取消进入到相关的页面,根据提示配置相关的权限

步骤1:修改tomcat-users.xml配置文件,配置用户、密码和权限

<role rolename="manager-gui" />
<role rolename="manager-script" />
<user username="tomcat" password="tomcat" roles="manager-gui, manager-script"/>

​ 根据需求配置tomcat访问的用户名密码和后台GUI界面访问权限,完成配置之后重启tomcat服务器,最后再次访问,输入配置的用户名密码,数据正常显示

步骤2:在pom文件中配置tomcat插件

步骤3:部署

初次部署可以使用 tomcat7:deploy命令

如果已经部署过使用 tomcat7:redeploy 命令

上述指定部署路径为“/”,即对应tomcat下webapps下的ROOT,使用tomcat7:redeploy则会将部署的项目直接覆盖ROOT路径

部署过程可能出现的问题,部署失败

​ 重新部署完成之后访问192.168.187.128:8080,查看部署是否成功

步骤4:其余工程部署

​ 以此类推,将其余工程也部署到对应的位置即可,修改对应工程的3个位置的端口号信息,对应tomcat文件夹下confg/server.xml文件,按照一定顺序递增端口号。完成tomcat安装,依次类推需要配置tomcat下的conf/tomcat-users.xml文件

taotao-manager    8080 : 8005、8080、8020(默认:8005、8080、8009)
taotao-rest		    8081 : 8006、8081、8021
taotao-portal     8082 : 8007、8082、8022
taotao-search		  8083 : 8008、8083、8023
taotao-sso		    8084 : 8009、8084、8024
taotao-order		  8085 : 8010、8085、8025

为了便于观察,修改为如下的命名形式:

  • 创建批量处理脚本文件
start-all.sh:
/usr/local/software/tomcat_server/tomcat_8080_manager/bin/startup.sh
/usr/local/software/tomcat_server/tomcat_8081_rest/bin/startup.sh
/usr/local/software/tomcat_server/tomcat_8082_portal/bin/startup.sh
/usr/local/software/tomcat_server/tomcat_8083_search/bin/startup.sh
/usr/local/software/tomcat_server/tomcat_8084_sso/bin/startup.sh
/usr/local/software/tomcat_server/tomcat_8085_order/bin/startup.sh
shutdown-all.sh:
/usr/local/software/tomcat_server/tomcat_8080_manager/bin/shutdown.sh
/usr/local/software/tomcat_server/tomcat_8081_rest/bin/shutdown.sh
/usr/local/software/tomcat_server/tomcat_8082_portal/bin/shutdown.sh
/usr/local/software/tomcat_server/tomcat_8083_search/bin/shutdown.sh
/usr/local/software/tomcat_server/tomcat_8084_sso/bin/shutdown.sh
/usr/local/software/tomcat_server/tomcat_8085_order/bin/shutdown.sh
  • 查看端口调用情况:netstat -anlp | grep 80

【3】反向代理配置

host配置

​ 需要修改host文件配置ip地址和域名的映射关系。把域名绑定到公网ip地址,公网ip地址绑定到反向代理服务器

# 淘淘商城测试环境(参考配置)
192.168.25.141 www.taotao.com
192.168.25.141 taotao.com
192.168.25.141 rest.taotao.com
192.168.25.141 search.taotao.com
192.168.25.141 sso.taotao.com
192.168.25.141 order.taotao.com
192.168.25.141 manager.taotao.com

​ 实际配置说明:在图片服务器上进行设置:192.168.187.128

​ 使用工具进行映射关系配置(如果配置提示错误则需要C:\Windows\System32\drivers\etc赋予所有用户权限或者启动的时候以管理员身份运行)

​ 随后访问任意域名或者通过ping指令连接查看响应内容是否正常:

​ www.taotao.com、ping www.taotao.com

nginx配置

参考配置

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


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;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location /group1/M00 {
             ngx_fastdfs_module;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # 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       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 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;
    #    }
    #}

	upstream manager.taotao.com {
	server 192.168.187.128:8080;
    }
    upstream rest.taotao.com {
	server 192.168.187.128:8081;
    }
    upstream search.taotao.com {
	server 192.168.187.128:8083;
    }
    upstream sso.taotao.com {
	server 192.168.187.128:8084;
    }
    upstream order.taotao.com {
	server 192.168.187.128:8085;
    }
    upstream www.taotao.com {
	server 192.168.187.128:8082;
    }
   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  rest.taotao.com;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            proxy_pass   http://rest.taotao.com;
            index  index.html index.htm;
        }
    }
    server {
        listen       80;
        server_name  search.taotao.com;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            proxy_pass   http://search.taotao.com;
            index  index.html index.htm;
        }
    }
    server {
        listen       80;
        server_name  sso.taotao.com;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            proxy_pass   http://sso.taotao.com;
            index  index.html index.htm;
        }
    }
    server {
        listen       80;
        server_name  order.taotao.com;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            proxy_pass   http://order.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服务器,访问测试即可

ps -ef | grep nginx
# 淘淘商城测试环境
192.168.187.128 www.taotao.com
192.168.187.128 taotao.com
192.168.187.128 rest.taotao.com
192.168.187.128 search.taotao.com
192.168.187.128 sso.taotao.com
192.168.187.128 order.taotao.com
192.168.187.128 manager.taotao.com
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v3.1.3