10.系统部署
[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-manager | manager.toatao.com |
---|---|
Taotao-rest | rest.taotao.com |
Taotao-portal | www.taotao.com |
Taotao-search | Search.taotao.com |
Taotao-sso | Sso.taotao.com |
Taotao-order | order.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