欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 会展 > 培训第十八天(虚拟主机与vue项目、samba磁盘映射、nfs共享)

培训第十八天(虚拟主机与vue项目、samba磁盘映射、nfs共享)

2025/12/12 21:56:44 来源:https://blog.csdn.net/weixin_70693880/article/details/140830004  浏览:    关键词:培训第十八天(虚拟主机与vue项目、samba磁盘映射、nfs共享)

上午

1、复习

(1)tomcat服务器需要jdk环境

版本对应

tomcat9==》jdk1.8

tomcat10==》jdk17

配置系统变量JAVA_HOME

 sed -i '$a export JAVA_HOME=/usr/local/jdk22/'  /etc/profilesed -i '$a export PATH=JAVA_HOME/bin:$PATH' /etc/profilesource /etc/profilejava -version

spring-boot3 ==> jdk17以上的版本

(2)nginx平滑升级,不停服升级nginx服务1.26.1==> 1.27.0

1、下载新的nginx源码包

2、解压

3、配置 (要求prefix指定的安装路径和以前的nginx安装位置一样)

4、make && make install 在sbin出现两个可执行文件 nginx nginx.old

5、查看旧的nginx进程,包含一个master和work进程的id

6、kill -USR2 旧的nginx的master进程id,开辟了一个复制的线程

7、kill -WINCH 优雅停用旧的nginx的子进程

8、kill -QUIT 优雅退出旧的nginx的master进程

(3)负载均衡 使用nginx管理后端服务器,分配后端服务器压力

1、upstream 服务器组名 {

ip_hash/url_hash/less_conn;

server ip/域名:端口号 状态 weight;

}

 location / {​proxy_pass    http://服务器组名;​}http{​server{​upstream server_group_name {​server 10.0.0.20:80;server 10.0.0.30:80;server 10.0.0.40:80; ​}​location  /  {​proxy_pass    http://server_group_name;                                         ​}}}/usr/local/nginx/sbin/nginx -s reload

2、虚拟主机搭建环境准备

 将原有的nginx.conf文件备份[root@server ~]# cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak[root@server ~]# grep -Ev "#|^$" /usr/local/nginx/conf/nginx.conf[root@server ~]# grep -Ev "#|^$" /usr/local/nginx/conf/nginx.conf.bak > /usr/local/nginx/conf/nginx.conf

原则上一个配置文件拥有一个http区块,并且只有一个

一个http可以有多个server区块

一个server区块成为一个虚拟主机

一个虚拟主机对应一个项目

一个server区块可以有多个location区块

每个location就是一个url链接的匹配规则

3、基于域名的虚拟主机

 [root@server ~]# vim /usr/local/nginx/conf/nginx.confserver {listen       80;server_name  localhost;root html;              //目录定位location / {index index.html;}[root@server ~]# mkdir /baibai     //创建一个页面根目录[root@server ~]# echo "hello,i am baibai" > /baibai/index.html     //创建一个首页[root@server ~]# cat /baibai/index.html hello,i am baibai在主配置文件中新创建一个七层模块server[root@server ~]# vim /usr/local/nginx/conf/nginx.confhttp {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;​server {listen  80;server_name   www.baibai.com;root    /baibai;        //目录定位location  /  {   index   index.html;}}主机解释ip(本机自行进行域名解析)[root@server ~]# vim /etc/hosts    //windows路径:c:/windown/system32/drivers/etc/host/......10.0.0.10 www.baibai.com[root@server ~]# curl www.baibai.comhello,i am baibai

一个服务器上同时部署多个项目,为了方便维护,可以将server模块单独抽离出来创建conf文件,然后在主配置文件中使用include添加外部配置,这样让操作更加模块化。

将两个server分开到两个配置文件中

 [root@server ~]# mkdir /usr/local/nginx/conf.d/    //创建新的配置文件目录[root@server ~]# sed -n '11,18p' /usr/local/nginx/conf/nginx.confserver {listen  80;server_name   www.baibai.com;root    /baibai;location  /  {index   index.html;}}[root@server ~]# sed -n '11,18p' /usr/local/nginx/conf/nginx.conf > /usr/local/nginx/conf.d/baibai.conf     //创建新的配置文件[root@server ~]# cat /usr/local/nginx/conf.d/baibai.conf server {listen  80;server_name   www.baibai.com;root    /baibai;location  /  {index   index.html;}}[root@server ~]# sed -i '11,18d' /usr/local/nginx/conf/nginx.conf    //原配置文件中删除该server[root@server ~]# vim /usr/local/nginx/conf/nginx.confhttp {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;​include   ../conf.d/*.conf;      //包含(引入)位于上级目录中的conf.d文件夹下的所有以.conf 为扩展名的配置文件[root@server ~]# /usr/local/nginx/sbin/nginx -s reload

4、基于不同ip地址的虚拟主机

 [root@server ~]# ifconfig ens33:1 10.0.0.11   //加一张网卡[root@server ~]# ifconfigens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 10.0.0.10  netmask 255.255.255.0  broadcast 10.0.0.255ens33:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 10.0.0.11  netmask 255.0.0.0  broadcast 10.255.255.255ether 00:0c:29:b1:2d:68  txqueuelen 1000  (Ethernet)[root@server ~]# vim /usr/local/nginx/conf/nginx.confserver {listen       80;server_name  10.0.0.10;     //修改为10.0.0.10root html;         //目录定位location / {index index.html;}[root@server ~]# vim /usr/local/nginx/conf.d/baibai.conf server {listen  80;server_name   10.0.0.11;    //修改为10.0.0.11root    /baibai;    //目录定位location  /  {index   index.html;}}[root@server ~]# /usr/local/nginx/sbin/nginx -s reload

5、基于不同端口的虚拟主机

设置两个server都基于相同的ip地址

 [root@server ~]# vim /usr/local/nginx/conf.d/baibai.conf server {listen  80;server_name   10.0.0.10;root    /baibai;location  /  {index   index.html;}}[root@server ~]# /usr/local/nginx/sbin/nginx -s reloadnginx: [warn] conflicting server name "10.0.0.10" on 0.0.0.0:80, ignored     //报错,产生冲突[root@server ~]# vim /usr/local/nginx/conf.d/baibai.conf server {listen  8080;        //修改端口server_name   10.0.0.10;root    /baibai;location  /  {index   index.html;}}[root@server ~]# /usr/local/nginx/sbin/nginx -s reload

下午

1、上线商城系统

上线一个静态的前端系统

安装npm 添加vue模块 使用vue创建vue3项目,构建静态资源 将静态资源添加到nginx项目

在安装nodejs之前,需要检查是否安装了epel

(1)项目创建的环境准备
 [root@server ~]# yum list install | grep epel    //检查epel环境[root@server ~]# yum list | grep nodejs   //查询nodejs软件包[root@server ~]# yum -y install nodejs    //安装nodejs[root@server ~]# node -v    //查看nodejs版本v16.20.2[root@server ~]# yum -y install npm    //安装npm(nodejs的包管理器,rpm是红帽的包管理器)[root@server ~]# npm -v   //查看npm版本8.19.4默认npm下载文件的链接在国家域外,下载很慢,所以使用淘宝的镜像[root@server ~]# npm config set registry https://registry.npmmirror.com     //下载国内的包(而不是下载国外的包)[root@server ~]# npm install @vue/cli    //使用nmp安装vue[root@server ~]# vue-bash: vue: 未找到命令[root@server ~]# find / -name "vue"   //查找vue文件/root/node_modules/vue/root/node_modules/.bin/vue[root@server ~]# ls -l /root/node_modules/.bin/vue   //可执行文件lrwxrwxrwx. 1 root root 22 7月  31 14:40 /root/node_modules/.bin/vue -> ../@vue/cli/bin/vue.js[root@server ~]# /root/node_modules/.bin/vue -V   //查看vue版本@vue/cli 5.0.8[root@server ~]# ln -s /root/node_modules/.bin/vue  /usr/bin/   //创建软链接[root@server ~]# vue -V@vue/cli 5.0.8
(2)创建vue项目
 [root@server ~]# vue create eleme_web  (空格选择,回车下一步)   //创建名为eleme_web的项目

选择Manually select features 按回车

选择Router和Vuex按空格后 按回车

一直回车到下图所示

项目创建完成,按照提示信息进行下一步操作

 [root@server ~]# cd eleme_web/[root@server eleme_web]# npm run serve   //运行服务

浏览器访问:10.0.0.10:8080

 [root@server eleme_web]# nohup npm run serve&    //将服务放到后台执行[1] 3024[root@server eleme_web]# nohup: 忽略输入并把输出追加到"nohup.out"[root@server eleme_web]# fg    //将进程杀死nohup npm run serve​^C[root@server eleme_web]# fg-bash: fg: 当前: 无此任务
(3)配置samba(linux系统与windows系统磁盘映射实现文件共享)
 1、安装samab[root@server eleme_web]# yum -y install samba2、编辑配置文件[root@server eleme_web]# vim /etc/samba/smb.conf[eleme_web]comment = eleme_webpath = /root/eleme_web   //指定了共享的实际路径guest ok = no     //不允许访客(未经过认证的用户)访问这个共享writable = yes    //允许对这个共享进行写入操作3、创建用户[root@server eleme_web]# useradd vueediter[root@server eleme_web]# smbpasswd -a vueediterNew SMB password:123(没有回显)Retype new SMB password:123(没有回显)Added user vueediter.4、为该用户在文件夹中添加读写权限[root@server eleme_web]# setfacl -m u:vueediter:rwx /root/eleme_web/5、启动服务[root@server eleme_web]# systemctl start nmb[root@server eleme_web]# systemctl start smb

windows测试:点击此电脑-----计算机-------映射网络驱动器

输入映射路径 \ \10.0.0.10\eleme_web点击完成,输入用户名与密码点击确认

映射成功

(4)创建nfs服务环境
 [root@server eleme_web]# lsbabel.config.js  node_modules  package.json    public   srcjsconfig.json    nohup.out     package-lock.json  README.md  vue.config.jspublic  //存放静态资源 [root@server eleme_web]# ls -l public/总用量 12-rw-r--r--. 1 root root 4286 7月  31 15:04 favicon.ico-rw-r--r--. 1 root root  611 7月  31 15:04 index.html[root@server eleme_web]# mkdir public/img[root@server eleme_web]# mkdir public/video[root@server eleme_web]# mkdir public/music[root@server eleme_web]# tree public/public/├── favicon.ico├── img├── index.html├── music└── video3 directories, 2 files
(5)部署一台nfs服务器
 [root@elemestatic ~]# yum -y install nfs-utils.x86_64 rpcbind.x86_64   //下载nfs软件与rpcbind依赖软件[root@elemestatic ~]# vim /etc/exports   //编写暴露文件/static/img/     *(rw,sync)     //共享/static/img/目录   所有人可以访问   拥有读写权限和同步功能[root@elemestatic ~]# mkdir -p /static/img   //创建共享目录[root@elemestatic ~]# systemctl start nfs    //启动nfs服务[root@elemestatic ~]# systemctl start rpcbind   //启动rpcbind服务[root@elemestatic ~]# netstat -lntup | grep rpc   //rpc为111端口[root@server eleme_web]# yum -y install nfs-utils.x86_64    //nfs客户端也要下载nfs软件[root@server eleme_web]# mount -t nfs 10.0.0.50:/static/img/  ./public/img/     //将nfs服务器共享的目录挂载到/root/eleme_web/public/img/下将图片拖拽到nfs服务器主机的共享目录中[root@elemestatic img]# ls月亮.jpg[root@server img]# ls    //nfs客户端中可以查看图片月亮.jpg
(6)修改vue页面
 [root@server eleme_web]# cd src/views/[root@server views]# lsAboutView.vue  HomeView.vue[root@server views]# vim HomeView.vue <img alt="Vue logo" src="img/月亮.jpg">

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词