Java学习笔记(三)——通过域名访问Java网站

背景:jar包 + Linux服务器
目标:外网可以直接通过域名访问Java网站

1、环境安装

JAVA_HOME=JDK地址
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar 
PATH=$JAVA_HOME/bin:$HOME/bin:$HOME/.local/bin:$PATH

先输入i进入编辑状态,退出时先按Esc,再输入:wq!,保存退出

  • 更新变量
    source ~/.profile

2、java使用进程运行

  • 创建shell文件
    创建:stop.sh
#!/bin/bash
PID=$(ps -ef | grep 包名.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
    echo Application is already stopped
else
    echo kill $PID
    kill $PID
fi

创建:start.sh

#!/bin/bash
nohup java -jar 包名.jar --server.port=端口 &

创建:run.sh

#!/bin/bash
echo stop application
source stop.sh
echo start application
source start.sh

1、没有权限,使用chmod u+x *.sh赋予权限
2、如果在windows系统创建,需使用dos2unit 文件名.sh将文件unix化

  • 运行
    使用./run.sh运行
  • 查看执行情况
    cat nohup.out

如果执行成功可以使用http://服务器IP:端口/页面地址访问网站

3、使用nginx进行转发

server
    {
        listen 80;
        server_name 域名 ;
        index index.html index.htm index.php default.html default.htm default.php;
        # 静态资源进行转发,因为打包时一起打包在jar包内
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            proxy_pass http://域名:端口;
            expires      30d;
        }
        # 静态资源进行转发,因为打包时一起打包在jar包内
        location ~ .*\.(js|css)?$
        {
            proxy_pass http://域名:端口;
            expires      12h;
        }

        location ~ /.well-known {
            allow all;
        }

        location ~ /\.
        {
            deny all;
        }

        location / {
            proxy_pass http://域名:端口;
        }
    }

如果需要https访问,则需要证书,配置可以参考

server
    {
        listen 80;
        #listen [::]:80;
        server_name 域名 ;
        index index.html index.htm index.php default.html default.htm default.php;
        return 301 https://$server_name$request_uri;
    }

访问域名时,直接跳转https,其它在https配置中进行配置,如默认页面,静态资源访问,可以参考非http访问配置

4、后记

本人方法可能不是最优的,但是至少可以实现要求,如果其它有更好的方法,欢迎留言探讨。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值