linux服务器分布式大型项目环境搭建
基本架构
中间服务+主服务+次服务
中间服务:nacos+mq+redis+mysql
主服务:nacos+mq+项目服务+nginx
次服务:nacos+mq+项目服务
安装环境具体步骤
【安装宝塔】
参考网址: https://www.bt.cn/new/download.html
yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec
启动宝塔:
启动宝塔服务:/etc/init.d/bt default
修改密码:bt 5
1.宝塔启动后会有宝塔外联访问链接,以及端口,需要进入服务器控制台对相应端口进行放开,才可访问
2.宝塔登录进去后,安全-系统防火墙,开放 40-40000 端口所有ip(这是放出宝塔对服务器的 端口权限,并非服务器端口进行了任意访问权限设置)
【安装mysql】
软件商店搜索mysql,点击选择合适的版本后选择编译安装模式
修改配置:lower_case_table_names = 1(不区分大小写)
保存重启mysql服务即可
宝塔左侧数据库栏重置root账号密码并记录下来,后面使用
【安装redis】
一件部署7.0版本
设置密码,ping地址内网
【安装jdk】
1.选择宝塔java项目一键部署组件,安装设置tomcat,宝塔会自动安装jdk环境
2.自行上传jdk压缩包并配置环境变量
准备tar.gz文件,上传至linux指定目录中
查看java已安装信息
rpm -qa | grep java
卸载(如果已安装的情况下)
rpm -e --nodeps java***
解压到指定目录
tar -xvf *.tar 目录
tar -zxvf *.gz 目录
配置相关信息即可
vim /etc/profile(进入配置文件进行添加jdk环境变量)
JAVA_HOME=/usr/local/jdk/jdk1.7.0_71
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
修改完后重新加载配置文件:
source /etc/profile
【安装php和phpMyAdmin】
1.php:编译安装8.0版本
2.phpMyAdmin :一键部署5.2版本
宝塔左侧数据库栏目,php启用公网访问,通过面板访问,进入php数据库管理界面,账号,修改root账号权限,登录信息,增加任意主机(任意ip通过root账号密码可以访问数据库)
3.以上步骤正确后,可在此打开navicat 进行连接服务器数据库,同时注意,服务器控制中心安全组中,对3306端口进行放行
【安装nginx】
编译安装:1.22版本
【安装nacos】
1. www/server 下创建nacos文件夹
2. 上传 nacos-server-2.2.3.tar.gz
3. tar zxvf nacos-server-2.2.3.tar.gz
4. 进入 /www/server/nacos/nacos/conf/ 替换application.properties 修改application.properties配置文件中的数据库地址
5. 配置集群,更换cluster.conf
【安装rocketmq】
1. www/server 下创建rocketmq文件夹
2. 上传 rocketmq-all-5.1.1-bin-release.zip
3. unzip rocketmq-all-5.1.1-bin-release.zip
4. 设置2m-noslave中的broker.properties,集群的ip更改
5. 修改替换plain_acl.yml
6. 修改替换tools.yml
7. nacos mq配置地址变更(imcore,system,notice,red)
8. 搭建mq控制面板服务dash(9295端口,账号:admin,密码:admin6796268),修改yml ip和user.properties的账号密码:loginRequired=true以及namesrvAddrs的ip
cmd打包命令(src同路径):mvn clean package -Dmaven.test.skip=true
项目服务器特殊操作
【启动环境操作】
[nacos]:
1.cd /www/server/nacos/nacos/bin/ [集群启动] sh startup.sh
[rocketMq]:
0.注意配置rocketmq运行的内存大小,解决方案替换runbroker.sh和runserver.sh脚本,注意中间和主次脚本不一致
1.cd /www/server/rocketmq/rocketmq-all-5.1.1-bin-release/bin/
2.【启动server】 nohup sh mqnamesrv &
3.【启动broker】
中间
nohup sh mqbroker -c /www/server/rocketmq/rocketmq-all-5.1.1-bin-release/conf/2m-noslave/broker-a.properties &
主
nohup sh mqbroker -c /www/server/rocketmq/rocketmq-all-5.1.1-bin-release/conf/2m-noslave/broker-b.properties &
次
nohup sh mqbroker -c /www/server/rocketmq/rocketmq-all-5.1.1-bin-release/conf/2m-noslave/broker-c.properties &
4.【关闭server】nohup sh mqshutdown namesrv
5.【关闭broker】nohup sh mqshutdown broker
【域名php绑定到主服务器,需要增加的nginx配置】
# 公众号h5等静态文件代理
server {
listen 9292;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location /index.html {
alias /home/xiangmu/h5/;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
# 项目代理
server {
listen 80; #监听80端口
server_name localhost;
charset utf-8;
# 默认所有路径
location /xiangmu/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE_HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-NginX-Proxy true;
# 反向代理配置,java.jar包项目接口请求端口
proxy_pass http://localhost:8080;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
【备份压缩转移数据库】
cd /www/server/redis/src
./redis-cli -h 172.19.0.7
Auth 112233
./redis-server ../redis.conf
tar -czvf redis.tar.gz /www/server/redis
tar -xzvf redis.tar.gz
/usr/bin/mysqldump -uroot -pxinJunshi888 --all-databases >/opt/all.sql
zip -rm /home/etalk_mysqlBackup/zhongwai.sql.zip /home/etalk_mysqlBackup
scp /opt/all.sql root@43.132.170.55:/www
scp /www/server/redis.tar.gz root@43.132.170.55:/www
【服务器端翔哥端口】
80,8080,443,8848,9848,9876,9292,9293,9294,9295