服务器部署Java服务(前后端项目分离部署)
一、购买好服务器
在登录的之后将一些基础的服务部署上,例如使用ssh 这样之后就不必要去再通过腾讯云或者是阿里云控制台去登录了
位置
位置:/root/.ssh
授权文件:authorized_keys # 将自己的key放进这个文件中
查看已知主机:known_hosts # 通过ssh可以去查看自己的主机是否在登录的范围内
二、安装必要的服务
在我们使用服务器进行部署的时候,需要使用到一些开源的服务,去将我们的服务能够正常的使用
例如:nginx、jdk、redis等这些必要的服务
2.1 安装nginx服务
1.安装nginx服务之前需要先安装一些其他的基础的服务
这些是安装nginx服务必不可少的基础模块信息
yum install gcc-c++
yum install -y openssl openssl-devel
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
2.在指定的位置去安装nginx服务
先创建nginx指定的位置去安装
mkdir /usr/local/nginx
3.下载nginx的Linux环境的软件包
wget https://nginx.org/download/nginx-1.19.9.tar.gz
4.解压缩
tar -zxvf nginx-1.19.9.tar.gz
cd nginx-1.19.9
5.使用nginx的默认配置
./configure
6.进行编译安装
make
make install
7.启动服务
cd /sbin
./nginx
8.查看服务是否启动
ps -ef | grep nginx
9.使用外网去访问是否可用
默认端口是80,使用浏览器访问,如果可以访问说明是成功的,如果不能访问将linux的防火墙将80端口释放
10.查看linux开放的端口
firewall-cmd --list-all
11.将端口加入至开放端口中
firewall-cmd --zone=public --add-port=80/tcp --permanent
重启防火墙 即可访问
Centos7之后开始适用Systemctl 这个命令行
因为我们使用的是自我安装的服务 没办法使用Systemctl 去启动关闭服务等
需要我们自己去配置 这样好便于我们手动管理 不用去安装目录下开启关闭服务
2.2 配置Systemctl系统服务
1.指定到系统命令的文件夹内
/usr/lib/systemd/system/
2.编辑文件nginx.service 新增下面这些服务
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
3.编辑完之后重新加载系统文件 服务生效
systemctl daemon-reload
只介绍关于重要的运维上的服务,剩下的服务就不进行部署了
三、部署需要的服务
一般现在开发使用的是SpringBoot服务,这样的话一些服务可以不用安装
将开发完成的服务生成jar上传至服务器中
看自己的情况去将服务部署到指定的文件夹中
在这里将Java的jar包放置到Javarun中
前端的代码放置到front中
后端管理的代码放置到backend中
cd /
mkdir /work/javarun
mkdir /work/html/front
mkdir /work/html/backend
1.将jar包放置在Javarun中,将前台的界面放置在front中,将后台的界面放置在backend中
文件上传之后启动Java生成的jar包 后台启动这个服务并指定配置文件 并将日志指定到指定的文件中
nohup java -Dspring.profiles.active=prod -jar ***.jar > ***.log &
2.将前后管理的代码部署至html
3.最重要的一步将这些服务通过nginx转发出去
进入至nginx服务的配置文件的目录
/usr/local/nginx/conf
4.调整配置文件信息
5.配置之后去浏览器查看自己配置的项目是否可以正常访问
如果不可以 查看服务器端口是否开放
firewall-cmd --list-all 查看监听的端口是否正常开放
如果没有
firewall-cmd --zone=public --add-port=80/tcp --permanent
将端口开放 如果还是不可以访问 去查看购买的服务器的安全策略是否开放
如果没有将其开放即可
四、nginx的配置文件
worker_processes 4;
error_log /var/log/nginx/error.log;
error_log /var/log/nginx/error.log notice;
error_log /var/log/nginx/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name localhost;
location / {
root /work/html/front;
index index.html index.htm;
try_files $uri $uri /index.html;
}
location /api/ {
proxy_pass http://****:**/;
}
}
server {
listen 8080;
server_name localhost;
location / {
root /work/html/backend;
index index.html index.htm;
try_files $uri $uri /index.html;
}
location /basic-api/ {
proxy_pass http://****:**/;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
这样简单的服务器搭建就完成了 并且可以通过ip地址去访问,如果你有域名可以将ip替换成域名使用