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

一、准备一台服务器

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

二、jdk安装

安装java的jdk。

  1. 直接yum安装1.8.0版本openjdk
yum install java-1.8.0-openjdk* -y
  1. 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
  1. 通过sh start.sh 命令启动
sh start.sh

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

五、域名申请

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

六、nginx安装

  1. 安装nginx相关的环境
yum install -y gcc-c++pcre pcre-develzlib zlib-developenssl openssl-devel
  1. 切换目录(一般来说,可以将nginx安装在这个目录下比较方便)
cd /usr/local
  1. 下载你所需要的nginx压缩包
wget http://nginx.org/download/nginx-1.18.0.tar.gz
  1. 解压nginx
tar zxvf nginx-1.18.0.tar.gz
  1. 执行安装
./configure --prefix=/usr/local/nginx 
  1. 安装https认证
./configure --with-http_ssl_module

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

  1. 初始化
make&&make install
  1. 切换到nginx 目录
cd /usr/local/nginx/sbin
  1. 启动nginx
./nginx
  1. 查看启动状态(nginx默认是80端口)
 lsof -i:80
  1. 常用 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
  1. 找到 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;
		}
	}
  1. 修改原来已经存在的server块,将请求80的转发到443端口,我这边就复制了一部分,只需要改两行就可以了。
    在这里插入图片描述
server {
        listen       80;
        server_name test.cn;  ## 你对应的域名
		rewrite ^/(.*)$ https://test.cn:443/$1 permanent; ## 转发的协议
  1. 保存nginx的配置文件,然后重启nginx。

总结

大体上的服务部署流程就是这样,按照我上面的步骤一步一步下来部署就不会有问题,可能会有一些遗漏的,可以留言问我。

  • 2
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值