Java项目从零开始,部署服务到上线运行

一、准备一台服务器

可以在阿里云上购买一台简单点的服务器,系统选择CentOS的,我用的是CentOS 7.6版本。

二、jdk安装

安装java的jdk。

  1. 直接yum安装1.8.0版本openjdk

    yum install java-1.8.0-openjdk* -y

     

  2. java -version 查看安装的jdk版本

    [root@localhost ~]# java -version
    openjdk version "1.8.0_161"
    OpenJDK Runtime Environment (build 1.8.0_161-b14)
    OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)

    默认的情况下 jre jdk 安装路径是 /usr/lib/jvm 目录下面。你通过 cd 命令切换到 /usr/lib/jvm下,大概是这样的结构。红框选中的就是我的openjdk,记住这个,下面修改配置是会用到的。

  3. 切换到 etc的目录下。

    # cd /etc

    这个目录下面存放的都是一些系统配置,找到 profile文件,这里有两种方式去编辑它,第一种是通过 xftp直接把这个文件复制下来,然后你编辑好在粘贴回去;第二种是在线编辑。第一种方式比较简单,我推荐用这种。

    打开profile文件,将

    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64
    export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export PATH=$PATH:$JAVA_HOME/bin

    放在最下面就可以了, JAVA_HOME的值就是我之前红框选中的内容。

    保存这个文件。

三、准备项目jar包

将你的java项目打成对应的jar包就可以了。

四、准备脚本命令,方便启动项目

项目运行我们可以直接通过命令,java -jar 的命令去运行,但是为了后期的方便,这边可以写一个简易的脚本去执行。

1.新建一个sh文件 --> start.sh,将text的文件后缀改成sh就行,将下面的四行复制进去,修改对应的配置并保存,这个文件直接放到你项目jar所在的目录就行。

cd /home/app/test/ // 这里指的是你项目jar包放的目录 我这边是放在test下面
ps -ef |grep test |grep -v grep |awk '{print $2}'|xargs kill -9 | ps -ef | grep test // 这边的test要修改成你对应的目录名
BUILD_ID=dontKillMe
nohup java -jar test-0.0.1-SNAPSHOT.jar > nohup.out 2>&1 & // 这是项目打出来的jar包 test-0.0.1-SNAPSHOT.jar

 


2.通过sh start.sh 命令启动

sh start.sh

 

这样你的项目jar包就运行了,每次你替换到项目,直接运行这个脚本就行。

五、域名申请

域名的申请和购买途径比较多,最好和你的服务器是同一个体系,如果你用阿里云那就再阿里云上买,你是腾讯云就在腾讯云上买,你要是购买cn的域名还需要审核的,可能会比较慢。

六、nginx安装


1.安装nginx相关的环境

yum install -y gcc-c++pcre pcre-develzlib zlib-developenssl openssl-devel

 

2.切换目录(一般来说,可以将nginx安装在这个目录下比较方便)

cd /usr/local

 

3.下载你所需要的nginx压缩包

wget http://nginx.org/download/nginx-1.18.0.tar.gz

 

4.解压nginx

tar zxvf nginx-1.18.0.tar.gz

 

5.执行安装

./configure --prefix=/usr/local/nginx

 

6.安装https认证

./configure --with-http_ssl_module

最好加上这一步,避免后期又要去重装nginx

7.初始化

make&&make install

 

8.切换到nginx 目录

cd /usr/local/nginx/sbin

 

9.启动nginx

./nginx

 

10.查看启动状态(nginx默认是80端口)

lsof -i:80

 

11.常用 nginx 命令

nginx -s stop :快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。
nginx -s quit :平稳关闭Nginx,保存相关信息,有安排的结束web服务。
nginx -s reload :因改变了Nginx相关配置,需要重新加载配置而重载。
nginx -s reopen :重新打开日志文件。
nginx -c filename :为 Nginx 指定一个配置文件,来代替缺省的。
nginx -t :不运行,而仅仅测试配置文件。nginx将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的 文件。
nginx -v:显示 nginx 的版本。
nginx -V:显示 nginx 的版本,编译器版本和配置参数

 

七、nginx配置SSL证书


SSL证书可以将你的域名访问变成https请求。

1.获取证书,阿里云有提供免费的证书。
阿里云SSL免费证书

2.下载对应的证书文件,会给你这两个文件,你需要放到服务器的某个位置就行。

 

 3.切换到nginx 的配置文件所在的目录

cd /usr/local/nginx/conf

 

4.找到 nginx.conf文件,打开这个文件,添加一个server块。

 

 

#以下属性中,以ssl开头的属性表示与证书配置有关。
server {
listen 443 ssl;
#配置HTTPS的默认访问端口为443。
#如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
#如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
server_name test.cn; ##这里写你购买的域名,不需要前缀www
root html;
index index.html index.htm;
ssl_certificate ssl/5504096_test.cn.pem; ##这里是ssl证书的pem文件
ssl_certificate_key ssl/5504096_test.cn.key; ##这里是ssl证书的key文件
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#表示使用的加密套件的类型。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS协议的类型。
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://192.168.0.0:10010; ##这里写需要转发的项目地址,也就是你项目部署的服务器地址和你的项目端口
root html; #站点目录。
index index.html index.htm;
}
}

 

5.修改原来已经存在的server块,将请求80的转发到443端口,我这边就复制了一部分,只需要改两行就可以了。

 

 

server {
listen 80;
server_name test.cn; ## 你对应的域名
rewrite ^/(.*)$ https://test.cn:443/$1 permanent; ## 转发的协议

 

6.保存nginx的配置文件,然后重启nginx。
总结
大体上的服务部署流程就是这样,按照我上面的步骤一步一步下来部署就不会有问题,可能会有一些遗漏的,可以留言。

转自:https://blog.csdn.net/yiming_zhan/article/details/119085605

posted @ 2022-08-18 17:40  石衣_2014  阅读(440)  评论(0编辑  收藏  举报