Linux之环境搭建

news2024/12/26 23:28:28

目录

一、VMware 

二、centos7的安装

三、Mysql安装

四、 前端项目部署

1.确保前台项目能用 

2.将前台项目打包npm run build

3.做ip/host主机映射

4.完成Nginx动静分离的default.conf的相关配置 

5.将前端构件号的dist项目,上传到云服务器/usr/local/...


一、VMware 

centos7的安装
1.打开安装包:

点击下一步:
。。。。。。

(这里一直下一步就行,安装位置选择有足够的空间的硬盘,最后点击许可证

由于版权问题需要许可证可私信博主

二、centos7的安装

新建虚拟机:
选择自定义——>下一步
默认——>下一步


选择第三个:稍后安装——>下一步
操作系统选择:
Linux(L)
版本选择:CentOS 7 64 位——下一步
名称自拟,位置选择非中文目录——下一步

 

处理器:默认;——>下一步

 虚拟机内存:
按自己电脑配置进行分配(推荐2GB)
下一步 x 7 —— 完成


点击编辑虚拟机设置(选择稍后安装的理由:就是在这里可以进行cpu和内存的调整)
使用映像文件

 
开启虚拟机
点击已完成安装,选择第一个 直接回车

 

 滑到下面选择安装位置

进去后直接默认并完成:

出来后:

这里设置自己的密码和账号

 

 

完成后等它加载完成后就行了

 

 虚拟机安装完成后,需要设置dhcp为63天,代表本虚拟机可以被租用63天

 然后重启:


centos安装完毕
1.查看ip地址 ifconfig
2.修改网络设置 vi /etc/sysconfig/network-scripts/ifcfg-ens33
注:tab自动补全Linux命令
3.重启网卡服务service network restart
ifconfig 显示ip
详细请看:y1-linux-环境搭建 (课件中)

换源

命令:
cd 切换目录
ll 查看当前文件目录下的所有文件及文件夹
vi 编辑文件
cat 查看文件内部的内容
mv 剪切
cp 复制
ifconfig 搜索ens33端口号

打开MobaXterm软件
新增会话(session)
点击SSH——在Remote host 中输入你在CentOS(虚拟机)中生成的Id:

输入后直接点ok就行
然后输入你的账户和密码:
例如:root   123456
登入成功后 点击yes(是否保存密码)
输入 ll 进行查看文件数量

备份linux自带的EPEL源
进入  /etc/yum.repos.d 目录中 —— cd进去
输入 cp /etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.bak

pwd:查看文件路径
yum install -y wget 下载wget插件
然后下载阿里源
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
然后清理缓存
yum clean all
然后在重新生成缓存
yum makecache
下载插件 tree
yum install -y tree

测试: 


目标:
J2EE项目部署与发布
命令:
mkdir 创建目录
tar -zxvf .....zip 解压命令

创建目录:

 

 使用 tar -zxvf 进行解压压缩包

 下载 vim 命令
yum -y install vim-enhanced
:q!    ——退出不保存
:wq  ——退出保存

配置环境变量:
输入:vim /etc/profile
找到最底部 按 i 键进行编辑

#java environment
export JAVA_HOME=/javayuyan/software/jdk1.8.0_151(/javaxl/jdk1.8.0_151(jdk解压路径))
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH


然后输入 :wq 退出保存
设置环境变量生效
进入到 source /etc/profile
输入 java -version

 启动tomcat
进入到bin目录
cd apache-tomcat-8.5.20/bin

 启动tomcat

 下载监听命令 :(查看当前电脑端口有没有被使用)
yum install -y lsof
进行监听端口号:
lsof -i:8080
防火墙设置
开放端口:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
更新防火墙规则:
firewall-cmd --reload
防火墙列表:
firewall-cmd --zone=public --list-ports

(补充)  

防火墙状态:

systemctl status firewalld
启动防火墙
systemctl status firewalld
关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service

 ifconfig 查看端口号

 复制到网址中:

三、Mysql安装

1.卸载mariadb,否则安装MySql会出现冲突(先查看后删除再查看)
查看当前虚拟电脑所在的数据库:
rpm -qa|grep mariadb
然后删除:
(mariadb....指的是刚刚查出来的那行数据库代码)
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
然后再查一遍确认是否删除成功:

 

2.在线下载MySQL安装包(也可提前下载好上传)
在线下载命令:(预计半个小时左右)

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar

 3.将MySQL安装包解压到指定目录
创建关于mysql的文件夹:
mkdir mysql-5.7
进行解压:
tar -xvf mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar -C mysql-5.7

4.开始安装,-ivh 其中i表示安装,v表示显示安装过程,h表示显示进度
cd mysql-5.7
每台虚拟机中的数据库名称会有所不同
相同的是 mysql-community-common-XXXXXXX
后面的版本需要对照该虚拟机中的sql版本的进行输入

rpm -ivh mysql-community-common-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.35-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.35-1.el7.x86_64.rpm


5.启动MySQL服务
systemctl start mysqld
启动完后查看mysql状态:
systemctl status mysqld

 6.登录mysql修改密码
查看原先mysql的密码
grep "password" /var/log/mysqld.log

 开始修改密码:
mysql -uroot -p
将查询出来的密码复制粘贴进去:

 设置密码等级:
set global validate_password_policy=0;
设置密码长度:
set global validate_password_length=4;
更新密码
set password = password("123456");
进行刷新:
FLUSH PRIVILEGES;
然后exit进行退出即可;
最后我们再尝试登录一遍:


但现在我们还无法连接数据库
数据库没有授权,允许以root身份远程登录mysql
GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
输入后使修改生效还需要下面的语句
FLUSH PRIVILEGES;
修改完后就可以去测试能否远程连接数据库了

 

 
后台项目部署:
查看后台是否能启动成功
启动成功后将其打成war包
<packaging>war</packaging>
然后导入tomcat路径里去

然后在云数据库中增加相关表数据

然后再重启tomcat

目标:部署前端项目
Nginx简介
1.负载均衡:流量分摊(分摊服务器的压力)
2.动静分离:判断动态请求还是静态请求,选择性的访问指定服务器

 3.反向代理:判断外网访问内网问题


1.Nginx安装
添加 nginx 官方提供的 yum 源(需要联网且时间较长)
rpm -Uvh http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.14.2-1.el7_4.ngx.x86_64.rpm
使用 yum 安装 nginx
yum install nginx
查看nginx版本
rpm -qa | grep nginx
默认端口为:80
80端口可以隐藏,比如百度;
接着启动及设置开机启动
systemctl start nginx.service
systemctl enable nginx.service
使用 lsof -i:80进行查看

 

 设置防火墙开放 80 端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload && firewall-cmd --list-port

准备两个Tomcat
进入到下载到tomcat相关的文件夹
cd /javayuyan/software
cp -r apache-tomcat-8.5.20/ apache-tomcat-8.5.20_8081/
进入到 tomcat 中的 config 目录层里将 server.xml 中的端口号进行修改

  1. HTTP端口,默认8080,如下改为8081
  2. 远程停服务端口,默认8005,如下改为8006
  3. AJP端口,默认8009,如下改,8010

然后保存启动项目

将8081的端口在防火墙打开:
firewall-cmd --zone=public --add-port=8081/tcp --permanent
firewall-cmd --reload && firewall-cmd --list-port
将webapps中的root中的index.jsp中的<body></body>内容改为8080和8081


查看nginx中的层级结构:
systemctl status nginx

 

进入到etc/nginx目录中将nginx.conf中的内容更改

 将下列copy到上图红框中

upstream  tomcat_list {  #服务器集群名字
server    127.0.0.1:8080  weight=1;   #服务器1   weight是权重的意思,权重越大,分配的概率越大。
server   127.0.0.1:8081   weight=1;   #服务器2   weight是权重的意思,权重越大,分配的概率越大
}

然后点开 conf.d 文件夹 在里面的 default.conf 中进行修改

location / {
#root   /usr/share/nginx/html;
#proxy_pass   http://172.17.0.3:8080;
proxy_pass   http://tomcat_list;
index index.html index.htm;


保存后进行重启:
systemctl restart nginx
这时我们出现权限的问题:

 

 查看日志:
cat /var/log/nginx/error.log

 解决方案:执行下面命令
setsebool -P httpd_can_network_connect 1

 如果我们有一个服务器崩掉了,但是我们还是可以正常运行


再运行:

 

还是可以运行成功:因为我们设置了多个Tomcat

 保证了我们项目的高可用

四、 前端项目部署

1.确保前台项目能用 

找到我们之前编写过的 t_spa 项目进行整合

 前往当前目录cmd启动一下:

 效果:


 

2.将前台项目打包npm run build

注:我使用的工具为HBuilder X,而hbuilderX打包vue项目会出现白屏问题
解决方案:
1.在vue项目中找到config中的index.js
将其里面的 assetsPublicPath:'/'
改为 assetsPublicPath:'./'  这个在/前加了一个点

 

 2.在build里面找到utils.js中的
generateLoaders函数方法
在if (options.extract)里面添加一条
// 解决icon路径加载错误
publicPath:'../../'


进行导包:npm run build

 

3.做ip/host主机映射

将虚拟机ip映射域名www.yuyan.com

4.完成Nginx动静分离的default.conf的相关配置 

定义规则:URL符合xxx标准走动态请求,不符合走静态请求

在C:\Windows\System32\drivers\etc\hosts中增加映射关系
(如果需要权限,可先将其文件拖到桌面后打开进行修改,再拖回去)
192.168.195.139 www.yuyan.com
修改完后接着打开/etc/nginx/conf.d/文件中的default.conf

 代理配置

location / {
#该句代码是为解决history路由不能跳转的问题,在vue-router官网有介绍 
try_files $uri $uri/  /index.html;
}
location  ^~/api/ {
#^~/api/表示匹配前缀是api的请求,proxy_pass的结尾有/, 则会把/api/*后面的路径直接拼接到后面,即移除api
proxy_pass http://tomcat_list/;
}

修改完后
我们再重新打包前端项目:npm run build(配合Nginx动静分离)
注意:修改action.js地址,添加api的路径配置
现将打包好的文件进行删除

 打包完后将Nginx启动测试
systemctl restart nginx
前端访问地址

5.将前端构件号的dist项目,上传到云服务器/usr/local/...

 找到 /usr/local 目录将前端打的那个包复制进去

然后将default.conf文件进行修改端口:
位置还是上面的那个位置


 

listen       80;            #监听80端口,可以改成其他端口
#server_name  localhost;    #当前服务的域名
server_name  www.yuyan.com; #当前服务的域名(虚拟域名也可以)
root         /usr/local/mypro/dist;      #将要访问的网站的根目录,nginx节点会自动继承父节点的配置;这里放到/usr/local/*,放到其他路径下会有权限相关问题;必要的时候配置Nginx.conf的user为root


重启Nginx服务,让配置生效
systemctl restart nginx 

(后面还有部分忘记备份了。。。)

今天分享的主要都是实施方面的知识,里面的内容较多,若不懂虚拟机的朋友们可以慢慢翻阅,有什么问题或者不懂的地方都可以私信博主,博主都会给予最大的帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/186730.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[Swift]SDK开发

本文主要介绍使用swift语言制作framework Demo:https://github.com/Gamin-fzym/CMSDK 一、创建工程 1.创建目录 这里我创建了一个“CMSDK”目录 2.打开Xcode新建workspace放入CMSDK目录 这里命名为“CMSDK” 3.打开CMSDK.xcworkspace新建SDK工程放入CMSDK目录 这里还是命…

06 CSS-盒子模型【尚硅谷JavaWeb教程】

06 CSS-盒子模型【尚硅谷JavaWeb教程】 JAVAWEB的学习笔记 学习视频来自&#xff1a;https://www.bilibili.com/video/BV1AS4y177xJ/?vd_source75dce036dc8244310435eaf03de4e330 不同的浏览器导致前端展示页面不一样&#xff0c;盒子的大小的不同。&#xff08;所以前端要考虑…

奇迹mu开服教程

奇迹mu开服教程&#xff1a;开服服务端的架设及开服注意事项服务器推荐奇迹开服需要准备什么&#xff1f;开服大概成本分析奇迹MU商业服务端版本&#xff1a;1.02W、1.03H、1.03K、S6EP3、S7EP2、S9EP2&#xff1b;HE网站系统&#xff1a;绑定域名授权&#xff0c;功能可定制&a…

Jenkins部署项目一(物理机器部署SpringBoot项目)

一、Jenkins部署SpringBoot项目 设备&#xff1a;MacOS 准备工作 1.已安装java开发工具包JDK 2.已安装依赖管理工具Maven 3.已安装代码版本控制工具Git 4.已安装Jenkins learn-moon代码地址&#xff1a;https://github.com/BillDavidup/learn-moon SSH: gitgithub.com:Bil…

【学Vue就跟玩一样】如何使用集中式状态管理的Vuex以及如何模块化编码+命名空间

1.vuex是什么一个专门在Vue中实现集中式状态管理的一个Vue插件,可以对vue应用中多个组件的共享状态进行集中式的管理(读取/写入)&#xff0c;也是一种组件间通信的方式&#xff0c;并且适用于任意组件间通信2.什么时候使用Vuex1.多个组件依赖于同一状态2.来自不同组件的行为需要…

Goland入门指南(使用Goland创建并运行项目)

在文章《Goland下载和安装》详细介绍了 Goland 的安装和破解&#xff0c;本节我们来介绍一下怎么使用 Goland 来创建并运行一个项目。 创建项目 首先&#xff0c;在“文件”菜单中找到“New”&#xff0c;并在下一级菜单中选择“Project”来创建一个新项目。 为项目选择一个…

【vim】C语言代码提示

前言 常见的C语言提示插件是YouCompleteMe&#xff0c;这个插件安装比较麻烦&#xff0c;在这推荐一款coc.nvim这个插件&#xff0c;github仓库地址&#xff1a;https://github.com/neoclide/coc.nvim/ 下面是安装步骤。 一、安装 nodejs 1、终端命令安装 curl -sL instal…

SpringMVC DispatcherServlet源码(2) 扫描Controller创建HandlerMapping流程

Spring MVC向容器注册一个RequestMappingInfoHandlerMapping组件&#xff0c;他会扫描容器中的Controller组件&#xff0c;创建RequestMappingInfo并注册HandlerMethod映射关系。 本文将阅读Spring MVC源码分析上述流程。 RequestMappingHandlerMapping组件 Creates Request…

java ssm校园兼职发布与互动平台的设计与实现

该系统基于B/S即所谓浏览器/服务器模式&#xff0c;应用JSP技术&#xff0c;选择MySQL作为后台数据库。系统主要包括个人中心、用户管理、企业管理、企业信息管理、兼职信息管理、职位申请管理、职位类型管理、交流中心、留言反馈、系统管理等功能模块。 使用校园兼职发布与互动…

JavaWeb:会话技术之Session

Cookie已经能完成一次会话多次请求之间的数据共享&#xff0c;之前我们还提到过Session也可以实现&#xff0c;那么&#xff1a; 什么是Session&#xff1f;Session如何来使用&#xff1f;Session是如何实现的&#xff1f;Session的使用注意事项有哪些&#xff1f; 1. Sessio…

SpringCloud学习笔记 - 熔断降级 - Sentinel

1. Sentinel熔断降级概述 1.1. 熔断降级要解决的问题 除了流量控制以外&#xff0c;对调用链路中不稳定的资源进行熔断降级也是保障高可用的重要措施之一。一个服务常常会调用别的模块&#xff0c;可能是另外的一个远程服务、数据库&#xff0c;或者第三方 API 等。例如&…

海康Visionmaster-VM权限设置、软件设置、方案设置和运行策略

权限设置 权限设置可设置是否配置管理员、技术员和操作员权限和配置密码&#xff0c;并设置不同角色人员的权限。 权限导入导出可对当前软件权限设置模块的配置以txt格式文档进行导入或导出。 打开启用加密时&#xff0c;需设置管理员密码。设置完成后&#xff0c;软件以管理员…

如何把Node项目部署到服务器上

1. 如何合理选购一台服务器 对于服务器的选择&#xff0c;我们主要有以下几种选择&#xff1a; 1. 阿里云&#xff1b; 2. 腾讯云&#xff1b; 3. 华为云&#xff1b; 4. 亚马逊云&#xff1b; 国内用户如果没有特殊需求可以选择前三种&#xff0c;这里我阿里云举例&…

【Vue】vue-devtools调试工具安装和配置

1. 安装 vue-devtools 调试工具vue 官方提供的 vue-devtools 调试工具&#xff0c;能够方便开发者对 vue 项目进行调试与开发。Chrome 浏览器在线安装 vue-devtools &#xff1a;https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpdFi…

RPA自动办公02——Uibot界面元素选择

继续RPA-Uibot的简单使用&#xff0c;本次带来RPA自动点击网页。 当然官方教程更加详细&#xff1a;界面元素自动化_UiBot开发者指南 按照书上的教程&#xff0c;点击一个表格&#xff0c;在右边拖拽命令&#xff0c;然后选择元素就可以了&#xff1a; 这个表格在官方文档上有…

为什么要开发SpringBoot?

Spring配置繁琐 虽然Spring的组件代码是轻量级的&#xff0c;但它的配置却是重量级的。一开始&#xff0c;Spring用XML配置&#xff0c;而且是很多 XML配置。Spring 2.5引入了基于注解的组件扫描&#xff0c;这消除了大量针对应用程序自身组件的显式XML配置。Spring 3.0引入了基…

计算机图形学 第4章 多边形填充

目录前驱知识多边形的扫描转换有效边表填充算法原理边界像素处理原则怎么算交点有效边桶表与边表桶表表示法边缘填充算法填充过程在这里插入图片描述区域填充算法/种子填充算法种子填充算法扫描线种子填充算法 &#xff08;更有效&#xff09;前驱知识 了解扫描转换的基本概念…

九龙证券|兔年行情将打响,A股2月上涨概率最高

兔年行情行将正式打响&#xff0c;迎接投资者的会否是 “兔”飞猛进的行情呢&#xff1f;证券时报数据宝带您一起透视兔年股票上涨概率。 A股新年后上扬概率高 从近10年A股新年后的市场体现来看&#xff0c;头几个买卖日大概率上涨。 数据宝统计&#xff0c;曩昔10年&#xf…

国内在线图表工具,你能说出几个?

之前写过很多篇在线图表、数据分析处理类工具的内容&#xff0c;但都是针对单个问题写的&#xff0c;没有将其整合起来&#xff0c;今天就借着这个问题&#xff0c;做个国内在线图表工具的合集。 一共5大类&#xff0c;每一类各介绍一个代表性工具&#xff0c;全文较长&#x…

【c语言进阶】文件操作知识大全上

&#x1f680;write in front&#x1f680; &#x1f4dc;所属专栏&#xff1a;> c语言学习 &#x1f6f0;️博客主页&#xff1a;睿睿的博客主页 &#x1f6f0;️代码仓库&#xff1a;&#x1f389;VS2022_C语言仓库 &#x1f3a1;您的点赞、关注、收藏、评论&#xff0c;是…