目录
1、在linux云平台上,部署springboot项目,并实现成功访问内部数据。(需要配置数据库连接)
2、在linux云平台上,部署nginx服务,实现静态资源访问。
服务器
硬件服务器:硬件服务器(linux、unix)
软件服务器:应用服务器、web服务器
应用服务器(可以部署java项目,也可以部署前端项目) tomcat
web服务器(部署前端项目 vue,html,css,js) nginx
ssm项目(打war包,放到tomcat中部署)
springboot项目(内置集成了tomcat容器,打jar包,运行是只需要jdk即可,java -jar jar包名称)
什么是nginx?
nginx可以作为web服务器,但更多的时候,我们把它作为网关,因为它具备网关必备的功能
-
WEB服务器(静态服务器)
-
反向代理
-
负载均衡
-
动态路由
-
请求过滤
安装启动nginx
1、官网下载 nginx
2、解压缩到非中文目录
3、启动、停止nginx服务
4、浏览器访问nginx
域名解析
http://域名:端口
1、本地域名解析服务器
域名解析文件:C:\Windows\System32\drivers\etc\hosts文件
127.0.0.1 localhost
127.0.0.1 www.yan9.com
更改后如果没有立即生效
cmd窗口中输入:
ipconfig /flushdns 让hosts文件立即生效
2、网络域名解析服务器
修改nginx配置文件
nginx.conf配置文件
1、修改启动端口
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 81;
server_name localhost;
}
2、部署前端项目
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#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;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index02.html index.htm;
}
3、作为代理服务器
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
#nginx作为代理服务器,进行反向代理配置(代理的是服务器)
proxy_set_header X-Forwarded-Host $host; #把原Http请求的Header中的X-Forwarded-Host(主机地址)字段放到转发的请求中
proxy_set_header X-Forwarded-Server $host; #把原Http请求的Header中的X-Forwarded-Server(主机名)字段放到转发的请求中
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #获取用户真实ip
location / { #静态资源设置
proxy_pass http://127.0.0.1:8080; #nginx代理访问的服务器访问地址(tomcat地址)
proxy_connect_timeout 600; # 连接超时时间
proxy_read_timeout 600; # 读取超时时间
}
#location / {
# root html;
# index index02.html index.htm;
# }
http://localhost:8080/grade/search 访问tomcat服务器
http://localhost/grade/search 访问nginx服务器
4、nginx作为负载均衡服务器
负载均衡策略: 轮询 、随机
权重:weight=1;
#反向代理,负载均衡
upstream mybatis03{
server 127.0.0.1:8080 weight=2; # weight访问权重,简单理解:9次中有4次访问
server 127.0.0.1:8081 weight=1;
}
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
#nginx作为代理服务器,进行反向代理配置(代理的是服务器)
proxy_set_header X-Forwarded-Host $host; #把原Http请求的Header中的X-Forwarded-Host(主机地址)字段放到转发的请求中
proxy_set_header X-Forwarded-Server $host; #把原Http请求的Header中的X-Forwarded-Server(主机名)字段放到转发的请求中
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #获取用户真实ip
location / { #静态资源设置
#proxy_pass http://127.0.0.1:8080; #nginx代理访问的服务器访问地址(tomcat地址)
proxy_pass http://mybatis03;
proxy_connect_timeout 600; # 连接超时时间
proxy_read_timeout 600; # 读取超时时间
}
http://localhost/grade/search 多次发起请求测试
springboot项目打包部署
1、pom文件中引入 springboot-maven插件
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<configuration>
<mainClass>com.hl.mybatis03.Mybatis03Application</mainClass>
<skip>false</skip>
</configuration>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
2、使用mvn命令打包
在pom.xml文件所在目录
mvn package 打包指令
mvn clean 清理已打包文件
mvn clean package 依次执行clean package
jar包默认存储在target目录下
3、运行jar包(在windows或者linux平台)
java -jar jar包名称 默认以前台进程方式运行
nohup java -jar jar包名称 & 以后台进程方式运行
作业
1、在linux云平台上,部署springboot项目,并实现成功访问内部数据。(需要配置数据库连接)
在连接上云平台的数据库里创建数据表
在springboot项目配置文件上修改url和mysql的用户和密码是linux的
springboot项目打jar包,存入linux文件夹里
在xshell控制台上输入以下命令行启动项目
java -jar 项目jar包名
或
nohup java -jar jar包名称 &
打开防火墙
firewall-cmd --permanent --add-port=8080/tcp
systemctl restart firewalld
2、在linux云平台上,部署nginx服务,实现静态资源访问。
安装Nginx
Nginx和Tomcat一样都是服务器软件,不同的是Nginx是静态资源服务器,只能部署识别解析静态资源html、css、js,而Tomcat是web服务器,可以解析静态资源和动态资源。
目录结构
linux执行命令:
安装nginx的依赖库(不管有没有都执行一下)
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
建立一个新文件夹存储nginx的conf、html、logs等
mkdir nginx
切换目录
cd /opt/nginx
上传nginx-1.10.0.tar.gz压缩包,解压缩到opt下或者nginx下都可以没有影响
tar -zxvf nginx-1.10.0.tar.gz
切换到nginx-1.28.0目录下开始下载配置文件 ./configure配置得在nginx-1.28.0目录下进行
cd nginx-1.28.0
把nginx安装包中的内容进行编译输出到/opt/nginx目录里,启动和关闭nginx命令放在/usr/bin/nginx里面添加到了path环境变量里面。所以可以在任何目录下面直接启动、关闭nginx
./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx
检查配置后的文件夹
make先编译检查有没有错误
make
安装
make install
检查/opt/nginx目录下的文件
启动nginx
nginx
停止nginx
nginx -s stop
找一个合适的vue项目
在package.json下使用num run build打包vue项目,生成dist文件夹
将dist里面的文件夹和文件assets、favicon.ico、index.html上传到linux的/opt/nginx/html里
在云服务器部署80端口
防火墙开启80端口
测试浏览器是否可以访问vue项目 主机号:80