这些步骤都是从零开始的, 从够买服务器开始.
至于后面的那些Java业务部分的系统, 可以根据你自己的JAR包具体设置.
Java_Maolele部署:
1. CentOS7.6 装好后:
2. 安装nginx, 进入官网找到版本地址:
准备材料
wget https://www.openssl.org/source/openssl-1.0.2s.tar.gz
wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
wget https://zlib.net/zlib-1.2.11.tar.gz
wget http://nginx.org/download/nginx-1.17.1.tar.gz
3. 解压: tar -zxvf 文件名:
使用tar 解压所有的文件
ls *.tar.gz | xargs -n1 tar xzvf
4. 进入到解压后nginx目录下安装:
./configure --prefix=/usr/local/nginx --with-openssl=../openssl-1.0.2s --with-pcre=../pcre-8.43 --with-zlib=../zlib-1.2.11 --with-pcre-jit --with-http_ssl_module --with-http_v2_module
如果出错1:
编译安装在执行./configure步骤报错,是因为缺少环境变量
checking for C compiler … not found
./configure: error: C compiler cc is not found
解决办法
yum -y install gcc
yum -y install gcc-c++
如果出错2
./configure: error: the HTTP rewrite module requires the PCRE library.
解决办法
yum -y install openssl openssl-devel
5. 如果有错, 解决完错误后, 再来:
./configure --prefix=/usr/local/nginx --with-openssl=../openssl-1.0.2s --with-pcre=../pcre-8.43 --with-zlib=../zlib-1.2.11 --with-pcre-jit --with-http_ssl_module --with-http_v2_module
6. 编译:
make
7. 安装:
make install
8. nginx全局可用,需要设置环境变量:
回到当然用户目录: cd
vim .bash_profile
复制 PATH=$PATH:$HOME/bin
改为 PATH=$PATH:/usr/local/nginx/sbin
9. 查看运行进程:
ps -ef |grep nginx
10. 测试:
访问公网ip. 正常可看见Welcome to nginx
停止 用命令查看进程Id: ps -ef |grep nginx
root 30137 1 0 05:51 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody 30137 30137 0 05:51 ? 00:00:00 nginx: worker process
然后kill -9 30137 30137
两个Id都加上,一个是root 一个是nobody
11. 故障检测技巧:
在本地centos里面访问, 就可以看看是否是服务器内部出了问题, 不是网络防火墙问题
例如:curl http://127.0.0.1
例如JavaAPI: curl http://127.0.0.1:8080/xxxx
如果是 Failed connect to 127.0.0.1:80; 拒绝连接, 说明本地就没启动nginx
12. 文件传输:
Mac/Linux: scp 命令
13. 解压文件 zip文件:
unzip
如果没有安装,需要安装:yum install unzip
查看端口:
lsof -i:端口号
服务软件:
1. 安装docker:
安装 yum install docker
启动 systemctl start docker
2. 安装Redis:
docker run -d -p 6379:6379 redis:5.0.7
3. rabbitmq推送:
docker run -d -p 5672:5672 -p 15672:15672 rabbitmq:3.8.2-management
4. Java环境JDK:
回到用户根目录 cd
下载: wget https://imcfile.oss-cn-beijing.aliyuncs.com/shizhan/file/liaoshixiong/jdk-8u231-linux-x64.tar.gz
解压:tar -zxvf jdk-8u231-linux-x64.tar.gz
移动: mv jdk1.8.0_231 /usr/local/
5. java命令全局可用,需要设置环境变量:
回到当然用户目录: cd
vim .bash_profile
增加
JAVA_HOME=/usr/local/jdk1.8.....
PATH=$PATH:$JAVA_HOME/bin
刷新
source .bash_profile
测试
java -version
6.数据库:
购买阿里云RDS
设置白名单:
1. 增加ecs买的那台的内网地址
2. 增加你电脑的IP , ip128.com查。 方便本地软件连接管理数据库。
3. sql数据导入
7. Java打包发布:
上传文件 在当前项目的根目录上,运行命令行
scp target/mall.jar [email protected]:/root
原程登录服务器
运行jar文件:
java -jar -Dspring.profiles.active=prod mall.jar
配置ecs服务器安全组, 放行8080端口
测试Java api的网址是否通了
47.112.213.250:8080/products
反向代理:
前端页面轮训的是:47.112.213.250/api/products
而java api 是: 47.112.213.250:8080/products
所以要做反向代理
修改nginx配置文件
server 内增加
location /api/ {
proxy_pass http://127.0.0.1:8080/
}
8.支付系统部署:
新增两份配置文件yml
8.1 打包
a) 打包, 跳过测试:
mvn clean package -Dmaven.test.skip=true
b) 打包带测试:
mvn clean package
上传:
scp target/mall.jar [email protected]:/root
做反向代理
修改nginx配置文件
server 内增加
location /pay/ {
proxy_pass http://127.0.0.1:8081/pay/;
}
9.静默启动mall和pay系统:
1.
新建文件: vim /etc/systemd/system/mall.service
复制内容
[Unit]
Description=mall
After=syslog.target
[Service]
User=root
ExecStart=/usr/local/jdk1.8.0_231/bin/java -jar -Dspring.profiles.active=prod -Dlogging.path=/root/logs/ /root/mall.jar
[Install]
WantedBy=multi-user.target
启动: systemctl start mall
查看: ps -ef |grep java
2.
新建文件: vim /etc/systemd/system/pay.service
复制内容
[Unit]
Description=mall
After=syslog.target
[Service]
User=root
ExecStart=/usr/local/jdk1.8.0_231/bin/java -jar -Dspring.profiles.active=prod -Dserver.prot=8081 -Dlogging.path=/root/logs/pay/ /root/pay.jar
[Install]
WantedBy=multi-user.target
启动: systemctl start pay
查看: ps -ef |grep java
若果需要开机自动启动, 命令:
chkconfig mall on
chkconfig pay on
服务器重启后的检查项目:
1.mysql:
数据库软件连接测试
2.nginx:
静态页面访问测试
3.docker:
ps -ef | grep docker
4.redis:
ps -ef | grep redis
5.maolele.jar:
ps -ef | grep maolele.jar
6. rabbitmq (现版本用不到该推送):
ps -ef | grep rabbitmq