记录自己的第一次项目部署经历

材料包括:

主项目-web项目

辅项目-支付接口-springboot项目

nginx服务器

三台服务器1,2和3

一个域名

mysql数据库

远程连接工具MobaXterm_Personal_21.1

一、服务器购买

推荐一个亿速云,里面有香港服务器免备案的,而且还便宜实用

买好后,在控制台先关机重设密码,然后就是安全组中端口的开放

二、域名的购买

我是在namesilo.com上买的,15美元一个

下面是购买

然后是绑定ip

三、远程连接工具MobaXterm_Personal_21.1免费而且兼具shell和传文件的功能

四、web服务部署

需要jdk-8u202-linux-x64.tar.gz和apache-tomcat-8.0.36.tar.gz就是jdk和tomcat环境

传到服务器后tar -zxvf解压,

vi .bash_profile或vi ~/.bash_profile来配置jdk环境
JAVA_HOME=/opt/finance/jdk1.8.0_60
JRE_HOME=/opt/finance/jdk1.8.0_60/jre
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:%JAVA_HOME%/lib/dt.jar
PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
PATH=$PATH:$HOME/bin

把上面的jdk名字换成自己jdk的版本

保存后退出刷新配置文件source ~/.bash_profile或source .bash_profile

然后是配置tomcat

cd tomcat
vi conf/server.xml

这下面会有你想要的war文件

将war文件上传到tomcat的webapps文件中实用命令rm -fr删除原来的ROOT目录,将自己的war文件名改为ROOT.war,然后进入tomcat的bin文件,./startup.sh运行,tail -f logs/catalina.out查看日志,运行在8080端口,停止同样在bin目录中./shutdown.sh

五、辅项目-springboot项目部署

pom文件中配置下

nohup java -jar xxx.jar  > consoleMsg.log 2>&1 &   运行并将日志输出到consoleMsg文件中

tailf -n 500 consoleMsg.log查看日志文件

nohup java -jar cms-0.0.1-SNAPSHOT.jar > /dev/null 2> /dev/null &  这是不输出日志的运行方式

ps -ef | grep your-spring-boot-app.jar查看jar文件运行的端口号

kill -15 <process-id> 杀死pid停止项目

六、nginx代理以及负载均衡搭建

sudo yum install nginx
sudo systemctl start nginx
sudo systemctl status nginx
sudo vi /etc/nginx/nginx.conf配置nginx

http {
    upstream your_application_name {

        ip_hash;
        server your_application_server:your_application_port weight=1;

        server your_application_server:your_application_port weight=2;
    }
 
    server {
        listen 80;
        server_name your_domain_name.com;
 
        location / {
            proxy_pass http://your_application_name;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

            add_header backendCode $upstream_status;
            add_header BackendIP "$upstream_addr;" always;
        }
    }
}

保存后退出,刷新配置文件sudo systemctl reload nginx,如果reload报错说明配置文件中输入格式有错误,可以实用nginx -t -c /etc/nginx/nginx.conf查看具体是哪里出错

add_header的那两行可以在浏览器中network的header中查看nginx转发到了那台服务器的ip,进而可以验证负载均衡是否生效,验证的时候先将ip_hash去掉

另外nginx占用的是80端口,所以网址输入ip即可自动访问该服务器的80端口

七、支付接口接入项目

我用到是狸云支付个人支付接口|微信支付接口|第三方支付接口 - 狸云支付主要是便宜而且手续简单,弄好后进入开发文档,翻到最下面下载它的SDK

在payconfig中配置notify和return的地址

此处改为payurl

我是单独把这个sdk作为一个项目,在主项目中访问sdk项目,sdk生成二维码支付连接后返回给主项目,notify_url是支付成功后支付提供商在后台访问该地址并携带支付的那些参数,这个接口主要用来根据传递过来的订单号改变数据库中的订单的支付状态,然后write一个success返回给支付提供商,否则它会一直访问notify接口,另外值得一提的是notify_url不能是内网地址,比如localhost和127.0.0.1什么的,必须是外网能访问到的地址,而且还不能包含端口号,所以要用nignx代理。然后return_url就是支付成功后客户端唤起的页面,一般就是放些虚拟商品的信息等,另外return_url最好与客户端输入的一致,比如客户端输入的是域名,那ruturn_url就得是域名而不能是该域名指向的ip:8080什么的

最后就是我的网站部署好后的运行情况,我的服务器是2核2G内存2M带宽的,然后就是很不稳定,很容易超出带宽,然后就会变得很卡,必须重启才能恢复,其本上废了属于是,还要进一步优化

  • 15
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值