虚拟机安装与IP配置说明

软件下载

URL: https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
建议: 使用14/15版本
安装步骤: 一路下一步 注意路径 最好不要放到C盘中


Linux安装JDK

1. 工作目录说明

命令: 进入工作目录 cd /usr/local/src

2. 上传安装包

  1. JDK安装包

  1. 拖拽文件,实现文件上传。

  1. 解压文件

命令1: 解压指令 tar -xvf jdk-8u51-linux-x64.tar.gz
命令2: 删除安装文件 rm -f jdk-8u51-linux-x64.tar.gz
命令3: 修改文件名称 mv jdk1.8xxxxxx jdk1.8

3. 测试JDK是否正常

如果检查JDK命令不能正常执行,说明文件目录位置不正确 ,要移动到正确的位置。

命令: 查看JDK版本 java -version

命令: 文件移动目录 mv xxxx /usr/local/src/

4. JDK环境调试

命令1: vim /etc/profile

设定jdk环境
export JAVA_HOME=/usr/local/src/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib

命令2: 让JDK环境变量立即生效 source /etc/profile
或者重启Linux系统即可


Linux安装MariaDB数据库

1. 下载MariaDB数据库

测试:当前虚拟机是否可以正确的链接外网。

1.1 安装mariadb数据库

命令:
yum install mariadb-server 安装mariadb数据库
yum clean all 清空已安装文件 如果下载失败之后执行的。

1.2 确认下载

1.3 安装完成提示

2. 数据库启动

  1. 启动命令 systemctl start mariadb
  2. 重启命令 systemctl restart mariadb
  3. 关闭命令 systemctl stop mariadb
  4. 设定开机自起 systemctl enable mariadb
  5. 关闭开机自起 systemctl disable mariadb

3. 数据库初始化操作

命令: mysql_secure_installation 一路y到底

[root@bogon src]# mysql_secure_installationEnter current password for root (enter for none):
//输入数据库管理员root的密码(注意不是系统root的密码),第一次进入还没有设置则直接回车
OK, successfully used password, moving on... Set root password? [Y/n] //设置密码 :y
New password: //新密码
Re-enter new password: //再次输入密码Remove anonymous users? [Y/n] //移除匿名用户:yDisallow root login remotely? [Y/n] //拒绝root远程登录,不管y/n,都会拒绝root远程登录Remove test database and access to it? [Y/n] //删除test数据库,数据库中会有一个test数据库,一般不需要 ,yReload privilege tables now? [Y/n] //重新加载权限表,y

4. 测试数据库用户名和密码是否有效

5. Mysql数据库远程访问配置

5.1 关于链接数据库的说明

说明:

  1. 如果需要远程链接数据库必须通过防火墙。
  2. 如果远程链接数据库,数据库中必须开启远程访问权限才行,否则拒绝链接。

5.2 配置数据库权限配置说明

6. 配置Linux数据库权限

6.1 切换mysql数据库

6.2 修改数据库表

1)检查表

2)查询user表中的host/root/password

3)将host=“localhost” 改为 “%”


4)刷新数据库权限

7. 配置Linux防火墙策略

7.1 检查防火墙状态

命令: firewall-cmd --state

7.2 防火墙开启自启配置

说明:防火墙中有一个配置文件,表示当Linux系统启动时防火墙应该如何操作!!!
需求: 告诉linux系统以后开机不需要启动防火墙。

命令:
systemctl disable firewalld.service 开机禁启防火墙
systemctl enable firewalld.service 开机启动防火墙

7.3 手动关闭防火墙

说明:通过命令手动将防火墙关闭

命令:
systemctl stop firewalld.service 关闭防火墙
systemctl start firewalld.service 开启防火墙

7.4 手动开放防火墙端口

1)检查端口是否开放

命令:
firewall-cmd --list-ports 检查防火墙开放的端口
firewall-cmd --query-port 80/tcp 检查端口是否开放


2)开放防火墙指定端口

firewall-cmd --zone=public --add-port=80/tcp --permanent开放防火墙指定端口

3)移除指定端口

firewall-cmd --zone=public --remove-port=9090/tcp --permanent 移除指定端口

关于防火墙操作的解释

–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–remove-port=80/tcp #移除端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效

4)重启防火墙

firewall-cmd --reload 重启防火墙

8. 数据库远程测试

8.1 远程访问Linux中Mysql数据库


8.2 导入京淘数据库

1)点击备份操作

2)选择导出的位置

3)在Linux建立的数据库中点击导入

4)导入数据之后执行刷新即可


方式2:

如果mysql数据库需要导入数据表命令如下:

命令: 1source /xxx/xxxx/xxxx/jt.sql;


Linux部署后台服务器

1. Linux创建目录

2. 修改项目传输目录地址

说明:将来所有的图片都会上传到Linux的目录中,所以需要进行修改。如图所示。

3. 项目打包

说明: 如果打包问题,则检查maven的配置!!!

4. 上传jar包

说明:

  1. 在/usr/local/src/ 创建tomcats的目录
  2. 在tomcats内上传8091.jar包文件

5. 项目发布命令

命令: java -jar 8091.jar

启动效果:

6. 项目测试

说明:测试数据库链接是否正常,如果出现如图效果 ,则表示一切OK

7. tomcat集群部署——前台方式

7.1 准备8091/8092服务器

说明:将后台服务器修改端口号之后,install 生成8091/8092. 传入Linux系统

7.2 使用前台方式启动项目

命令: java -jar 8091.jar & java -jar 8092.jar &

启动成功之后;回车跳入Linux系统。
弊端: 与当前的Session绑定.。如果Session关闭,则服务器全部停止。

7.3 端口号占用问题(经常性!!!)

说明:由于操作不当,可能导致前一个tomcat服务器没有正常关闭。一直保留在内存中,之后启动必然报端口号占用。

1.查询: java进程命令 jps

7.4 关闭进程项

说明:如果需要关闭Linux系统中的进程,则需要如下命令。

命令:

  1. kill PID号常规关闭进程
  2. kil -15 PID号 较为严格的关闭. (当前的进程被其他进程引用 无法关闭)
  3. kill -9 PID号 强制关闭进程

7.5 访问测试

说明: 切换8091/8092 检查服务是否正常即可

8. tomcat集群部署——后台方式

8.1 使用后台方式启动项目

说明:
java -jar 8091.jar & 该方式是前台启动方式。服务会与当前的session进行绑定。如果session关闭,则服务停止。这种前台的启动只适用于测试阶段,可以直观的反应报错的信息。

通过下述命令可以实现后台启动,不会与session绑定。

命令: nohup java -jar 8091.jar => 8091.log &

8.2 浏览文件

命令·:
cat 输出文件所有的内容 文件内容较少的场景
more 输出文档所有的内容,分页输出,空格浏览下一屏,q退出
less 用法和more相同,只是通过PgUp、PgOn键来控制
tail 用于显示文件后几号,使用频繁

  • tail -10 nginx.conf 查看nginx.conf的最后10行
  • tail –f nginx.conf 动态查看日志,方便查看日志新增的信息

ctrl+c 结束查看

8.3 脚本启动

说明: Linux系统中提供了shell脚本,可以提供批处理的机制。
注意事项: 标识符 xxx.sh 注意表头

命令:
编辑脚本: vim start.sh

脚本内容:

命令:
运行脚本: sh start.sh


Linux安装Nginx

1. 关于HOSTS文件与代理说明

通常用户访问服务器,可以通过IP或者域名的方式访问,域名与IP应该是一一对应的。
域名:由三大运营商负责提供的,同时兼容DNS服务。
DNS说明:全球的域名解析服务。域名名称------IP地址 (一般有演示 1-2天,2小时有效)

规则:如果在本机进行业务测试,则windows/Linux系统,提供了一个测试的文件。
在该文件中可以编辑域名与IP的映射关系,但是只对本机有效,该文件就是hosts文件。

1.1 编辑hosts文件

路径: C:\Windows\System32\drivers\etc

修改文件内容:

127.0.0.1       localhost
::1             localhost
#图片服务器域名
#127.0.0.1       image.jt.com
#前端域名地址
#127.0.0.1       web.jt.com
#后端域名地址
#127.0.0.1       manage.jt.com#Linux系统配置 只对本机测试有效
192.168.126.129       image.jt.com
192.168.126.129       web.jt.com
192.168.126.129       manage.jt.com

1.2 域名测试

说明: 修改hosts文件之后,,在本机已经建立了域名与IP的映射关系,通过测试保证映射是正确的。
测试如下:


2. 反向代理(必须掌握)

反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址与资源地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。

总结:

  1. 代理服务器位于 用户和服务器之间
  2. 用户以为代理服务器就是目标服务器.
  3. 用户无需了解真实服务器地址.
  4. 反向代理服务器保护了 服务器端的信息 (服务器端代理)

3. 正向代理(了解)


正向代理,意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从目标服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。
特点:

  1. 代理服务器位于用户与服务器之间
  2. 用户了解访问的服务器到底是谁
  3. 只有用户可以使用正向代理 (客户端代理)
  4. 正向代理保护了用户的信息

2. Nginx安装

2.1 Nginx介绍

http://nginx.org/en/download.html


Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。

其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

特点:

  1. nginx 是反向代理服务器/web服务器

  2. 占用内存少 不到2M tomcat 300-400M

  3. 并发能力强 3-5万次/秒
    tomcat并发能力 150-220次/秒 JVM调优(增大运行内存) 1000次/秒

  4. 解析:
    功能简单,只做请求的"转发"处理
    使用C语言开发的软件 ,运行速度快

2.2 上传安装包

1)上传到指定目录中 /usr/local/src

2)解压Nginx 压缩文件

命令:tar -xvf nginx-1.21.1.tar.gz


3)移动安装目录到指定文件

命令:mv nginx-1.19.4.tar.gz software

4)修改文件名称

命令:mv nginx-1.19.4 nginx-source

2.3 关于Nginx 目录说明

改完名称之后的结果:

2.4 安装Nginx服务器

说明:nginx-source的根目录中执行如下命令

1) 需要提前安装nginx的依赖项

yum -y install gcc pcre-devel zlib-devel openssl openssl-devel


2)安装服务器

命令:
./configure


直接结果:

3)在nginx-source的根目录中 执行 make

4)在nginx-source的根目录中 执行 make install

3. Nginx工作目录说明

命令: whereis nginx 查找工作目录

3.1 跳转到Nginx工作目录

3.2 Nginx命令

** 进入nginx/sbin目录中执行**

1.启动命令: ./nginx
2.重启命令: ./nginx -s reload
3.关闭命令: ./nginx -s stop

3.3 修改Nginx配置文件

需求说明:

  1. 实现图片反向代理
  2. 实现tomcat负载均衡实现

具体实现:
修改完成之后,重启nginx服务器。

#配置图片代理服务器  http://image.jt.com:80server {listen 80;server_name image.jt.com;location / {#root  D:/JT-SOFT/images;root  /usr/local/src/images;}  }#配置商品后台服务器server{listen  80;server_name manage.jt.com;location / {#代理真实服务器地址#proxy_pass http://localhost:8091;#映射到集群#proxy_pass  http://jtWindows;proxy_pass  http://jtLinux;}}#配置tomcat服务器集群  1.默认 轮询策略  2.权重策略  3.ip_hash策略upstream jtWindows {#ip_hash;     down 标识宕机     backup 备用机#max_fails=1       表示最大的失败次数#fail_timeout=60s 如果访问不通,则在60秒内,不会再次访问故障机server 127.0.0.1:8081 max_fails=1 fail_timeout=60s;server 127.0.0.1:8082 max_fails=1 fail_timeout=60s;server 127.0.0.1:8083 max_fails=1 fail_timeout=60s;}upstream jtLinux {server 192.168.126.129:8081;server 192.168.126.129:8082;server 192.168.126.129:8083;}

4 前端项目发布

4.1 nginx目录结构说明

http {#每个服务都是一个serverserver {#默认监听80端口listen       80;#监听域名信息server_name  localhost;#具体反向代理服务 / 默认写法location / {#root 代理的是一个目录root   html;#默认访问页面index  index.html index.htm;}}
}

4.2前端发布准备工作

1)修改前端的main.js

2)修改AddItem.vue 文件 指向远程服务器

4.3 前端打包操作

1)项目打包

2)打包之后的路径,打包生成dist文件目录。

4.4上传前端项目

说明: 将前端打包好的目录dist 上传到指定的位置 /usr/local/nginx 目录下, 如图所示:

4.5 配置前端反向代理

需求: 通过http://web.jt.com:80 访问前端的静态资源文件.
修改nginx配置文件

#配置前端服务器server {listen 80;server_name web.jt.com;location / {root dist;index index.html;}}

4.5 发布项目

1)上传nginx.conf文件

2)重启nginx服务

3)项目访问

5 后端服务器发布

5.1 需求分析

说明: 前端项目 web.jt.com 向后端服务器 manage.jt.com 发送请求。
问题: 后端服务器有8091/8092都可以为用户提供服务.。
难点:通过域名负载均衡一个服务器,为用户提供数据支持。

5.2 配置tomcat集群

#一次请求,访问一个服务器 集群的配置 负载均衡机制# upstream 集群的关键字.# tomcats 是集群的名称 可以任意 xxxx# server  每个服务的地址# 默认采用轮询的策略,依次访问服务器.upstream tomcats {server   192.168.126.129:8091;server   192.168.126.129:8092;}#配置后端服务器 8091/8092#后端域名  manage.jt.comserver {listen 80;server_name manage.jt.com;location / {#proxy_pass 反向代理服务器发起是一个http请求proxy_pass  http://tomcats;}}

1)上传nginx.conf文件

2)重启nginx服务

3)负载均衡测试

5.3 前后端联调

6. 实现图片回显

6.1 图片请求说明

说明: 用户请求网址 http://image.jt.com 要求代理到 /usr/local/src/images

6.2 配置图片反向代理

说明::修改成功之后,上传nginx.conf文件 之后重启服务器。

#配置图片反向代理  image.jt.com
server {listen 80;server_name image.jt.com;location / {root /usr/local/src/images;}
}

6.3 图片回显操作

1)本地添加图片上传


2) Linux服务器中已传入文件

Linux项目部署单体项目全流程相关推荐

  1. Spring Boot项目部署到Docker的流程及一些容易踩的坑

    Spring Boot项目部署到Docker的流程及一些容易踩的坑 前期准备 准备Spring Boot项目 编写简单的控制类,方便测试 编写日志打印相关 测试项目是否能正常工作 准备部署到docke ...

  2. 项目提交到GitHub(全流程)

    项目提交到GitHub(全流程) 持续输出学习心得干货,欢迎关注收藏 1.准备工作 1.1创建Github账号 账号肯定是必须要有滴~~ 官网跳转 1.2安装Git工具 下载链接 选择需要的版本进行下 ...

  3. Linux 0.11-读硬盘数据全流程-46

    Linux 0.11-读硬盘数据全流程-46 读硬盘数据全流程 如果让你来设计这个函数 鸟瞰操作系统的读操作函数 对 buf 区域的内存做校验 verify_area 执行读操作 file_read ...

  4. Linux下部署Tomcat项目笔记

    今天给大家分享一下如何在Linux系统下部署Tomcat项目.希望能给Java初学者提供一些帮助. 基本环境:Centos7.tomcat8.jdk8,MySQL5.6.nginx 1.安装JDK y ...

  5. 如何在阿里云linux上部署java项目

    image.png 前2天把git练了下,敲了很多命令,也借助图形界面增强自己的理解,乘着余热把linux在熟悉下.然后想起以前婷主有让我帮忙搭建的阿里云服务器,所以就想自己试着在阿里云的linux上 ...

  6. linux系统部署web项目

    十二.Linux下安装软件[重点] 12.1 安装JDK 在Linux下安装JDK,并配置JAVA_HOME环境变量-- 12.1.1 下载JDK的压缩包 去逛网下载压缩包,由于oracle官网更新, ...

  7. 在Linux上部署的项目(iwebshop) 不能打开界面

    问题描述:在Linux上部署的php项目(iwebshop)不能打开ui界面,只显示如下: errID:2 errStr:mysql_connect(): Headers and client lib ...

  8. Linux(Centos)部署 Python项目

    一.前言 我的项目不大就是一个main.py,由于上级要求需要部署到Linux中,第一次做linux部署python,很多都不懂,找了很多资料,也走了很多弯路,所以把整个部署过程记录下. 首先想要在l ...

  9. 怎样linux部署web应用程序,Linux系统部署WEB项目(2020最新最详细)

    2020最新Linux系统发行版ContOS7演示部署WEB项目 为防止操作权限不足,建议切换root用户,当然如果你对Linux命令熟悉,能够自主完成权限更新操作,可以不考虑此推荐. 更多命令学习推 ...

最新文章

  1. C语言函数集(十二)
  2. 关于下拉菜单和iframe的问题
  3. Docker化Spring Boot应用程序
  4. 【渝粤教育】广东开放大学 国际金融 形成性考核 (48)
  5. c向文件中插入数据_Redis从文件中批量插入数据
  6. CPU溫度高的9種可能
  7. Phoenix Contact 多款工业产品被曝多个高危漏洞
  8. openssl 升级到OpenSSL 1.0.1g 修复HEARTBEATS漏洞
  9. MYSQL初学者命令行使用指南
  10. c语言中专业英文词汇的意思,c语言常见专业英语词汇
  11. 查看挂载阵列卡下的磁盘SMART
  12. python爬腾讯视频地址_腾讯视频爬虫
  13. 爬取网易云音乐某个歌手的全部歌曲的歌词
  14. 1024 程序员节,拿个勋章
  15. HDLBits Exams/ece241 2013 q4 水库题
  16. java如何获取当前时间 年月日 时分秒
  17. [收藏]一些电平转换方法
  18. RSS MSE RMSE之间的关系
  19. 如何在UI设计师中脱颖而出
  20. Python爬虫——Requests 库基本使用

热门文章

  1. 惊恐,还真有大神把地府后台管理系统做出来了,“阎王爷”疯狂点赞!附地址...
  2. 在 Express中配置使用 art-template 模板引擎 --- express-art-template
  3. 解决yolov3编译中出现的问题:darknet make include/darknet.h:16:23:、CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT
  4. 在BST中查找节点最多的子BST
  5. 2019.NET Conf China(中国.NET开发者峰会)活动全纪录:.NET技术之崛起,已势不可挡...
  6. npm ERR! A complete log of this run can be found in:
  7. 【AbstractReading】Redundancy-Free Computation for Graph Neural Networks
  8. 第6篇:Eureka技术实现(1)-更新中......
  9. 数学基础 (2) - 熵相关以及优化目标函数
  10. 计算机如何实现自动化,如何实现计算机技术与自动化仪器仪表的融合