7月31日学习笔记 基于域名,Ip,端口多虚拟主机配置以及上线商城系统

server/2024/9/20 3:56:23/ 标签: 学习, 笔记, tcp/ip

一,基于域名的虚拟主机

效果
劫持域名访问指定的文件夹的目录
步骤
1. vim /usr/local/nginx/conf/nginx.conf
2. 创建新的目录 mkdir /html/devopt/
3. devops 目录下添加新的 index.html 文件
4. http 模块下添加新的 server 模块
1 . 设置监听的端口
2 . 设置域名
3 . 设置资源文件目录
4 . 设置路由 location 模块
server{
listen 80 ;
server www.zm.com;
root /html/devops;
location / {
index index.html;
}
}
5. 重载 nginx 服务
/usr/local/nginx/sbin/nginx -s reload
6. 设置 hosts 劫持
vim /etc/hosts
192 .168.71.161 www.zm.co
7. window 也可以如此设设置,但是要注意要设置读写权限

二,基于ip的虚拟主机

1. 效果,使用不同的 ip 地址访问不同的项目
2. 步骤
1. linux 系统中添加新的 ip 地址
ifconfig ens33:1 192 .168.71.163
2. 修改 nginx.conf 中的 server 模块中的 server_name 将域名修改为 ip 地址
server{
listen 80;
server_name 192.168.71.163;
root /html/devops/;
location / {
index index.html;
}
}
#
server{
listen 80;
server_name 192.168.71.161;

三,基于端口的虚拟主机

不同端口访问不同的项目,这种一般用于企业内部测试,不会用于发布项目
1. 效果
2. 步骤
1. 将两个 server ip 地址的都修改为相同
2. 两个 server 的监听端口一个设置为 80 一个设置为 8080
3. 重载 nginx
/usr/local/nginx/sbin/nginx -s reload
4. 开放端口或者防火墙
systemctl stop firewalld.service
============
firewall-cmd --zone = public --add-port = 8080 /tcp --
premament
5. 访问测试
curl 192 .168.71.161:80
curl 192 .168.71.161:8080

四,多虚拟主机的配置

一个服务器上同时部署多个项目 , 为了方便维护,可以将 server 模块单独抽
离出来创建 conf 文件,然后在主配置文件中使用 include 添加外部配置,这
样让操作更加模块化
1. 效果
2. 步骤
   1. nginx 目录下创建新的目录 conf.d
   mkdir /usr/local/nginx/conf.d/
   2. conf.d 目录中添加 devops.conf 文件
touch /usr/local/nginx/conf.d/devops.conf
   3. 将在 nginx.conf 文件中创建的 server复制到devops.conf 文件中
    sed -n '36,42p' /usr/local/nginx/conf/nginx.conf >
    /usr/local/nginx/conf.d/devops.conf
   4. 删除 nginx.conf 中原有的自定义 server 模块
   5. nginx.conf 添加 include, 这里也可以写成相对路径,可以自由选择
    include /usr/local/nginx/conf.d/*.conf
   6. 重载 nginx 配置文件,测试
   /usr/local/nginx/sbin/nginx -s reload

五,上线商城系统

基于域名配置 server
1. 一个配置文件一般只有一个 http 模块
2. 一个 http 模块可以有多个 server 模块
3. 一个 server 模块就是一套 web 项目
4. 一个 server 模块中可以有多个 location
5. location 就是项目中的 url 路由
# 第一步
mkdir /zhangmin
# 第二部
echo "i am zhangmin" > /zhangmin/index.html
# 第三步
vim /usr/local/nginx/conf/nginx.conf
# 第三步
http{
server{
listen 80;
root /zhangmin;
server_name www.zhangmin.com;
location /{
inddx index.html;
}
}
server{...}
}
# 第四步
vim /etc/hosts
######################
10.1.1.10 www.zhangmin.com
########################
curl www.zhangmin.com
c:/windown/system32/drivers/etc/host/
取消只读,设置权限,如果还不行,就直接创建 i 新的 host 文件给她
覆盖
配置 dns 服务器。
一个 nginx 服务器中有多个 server 的时候是非常难于管理的,我们会将
每一个 server 单独创建一个文件保存,在主配置文件使用 include
mkdir /usr/local/nginx/conf.d/
touch /usr/local/nginx/conf.d/zhangmin.conf
sed -n 'server的行号p' /usr/local/nginx/conf/nginx.conf
> ..../zhangmin.conf
sed -i 'server的行号d' /usr/local/nginx/conf/nginx.conf
vim /usr/local/nginx/conf/nginx.conf
================
include /usr/local/nginx/conf.d/*.conf
/usr/local/nginx/sbin/nginx -s rdlaod
基于 ip 配置 server
为网卡添加一个新的 ip 地址
ifconfig ens33:1 10.1.1.11
server{
listen 80;
server_name 10.1.1.10;
root /zhangmin;
location /{
index index.html;
}
}
server{
listen 80;
servername 10.1.1.11;
root html;
location /{
index index.html;
}
}
基于端口配置 server
80, 可以省略,一般来说基于端口的配置,用于企业内部的项目测试
server{
listen
80;
server_name 10.1.1.10;
.....
}
server{
listen
8080;
server_name 10.1.1.10;
.....
}
systemctl stop firewalld
firelwall-cmd --zone=public --add-ports=8080/tcp --permament &&
firewall-cmd --reload;
部署一个 nodej 项目
1. 安装 nodejs
# 确定个是否已经安装 epel
yum -y install nodejs
node -v
2. 安装 npm
yum -y install npm
npm -v
3. 安装 vue
npm config set registry https://registry.npmmirror.com
npm install @vue/cli
4. 创建 eleme 项目
find / -name "vue"
/root/node_modules/.bin/vue -V
/root/node_modules/.bin/vue create eleme_web
5. eleme 项目使用 samba 共享
yum -y install samba
vim /etc/samba/smb.conf
[vue]
path = /root/eleme_web/
comment = this is a vue project use to eleme web
guest ok = no
writable = yes
useradd vueediter
smbpasswd -a vueediter
setfacl -m u:vueediter:rwx /root/eleme_web/
systemctl start nmb
systemctl start smb
systemctl stop firewalld
# window 上挂载安装
7. window 中对 samba 编辑
8. 在本地方法
9. 使用 frp 代理发布

http://www.ppmy.cn/server/93442.html

相关文章

用ai来修改优化代码

前言 使用AI来辅助编写或修改技术文档是一个高效的方法,特别是当涉及到大型文档或需要快速更新内容时。下面是如何使用AI来编写或修改一篇技术文档的步骤和示例。 步骤概述 明确文档目的:确定文档的目标读者和主要内容。准备现有材料:整理…

亚马逊新产品怎么快速提升销量

经常有卖家吐槽新产品没销量,但卖家们的吐槽并不能把问题解决,南哥和大家分享一下关于测评的好处和一些技巧,以及如何样做才能提高店铺销量,将运营和测评结合起来做 测评的好处: 提升店铺信誉,制造爆款,增…

Conda和pip在安装Python包时有什么区别?

Conda和pip都是Python包管理工具,但它们在安装Python包时有一些关键的区别: 1. 包管理方式 Conda:不仅可以安装Python包,还可以安装非Python程序和库,如NumPy、SciPy等,以及它们依赖的系统库。Conda通过环…

【人工智能】穿越科技迷雾:解锁人工智能、机器学习与深度学习的奥秘之旅

文章目录 前言一、人工智能1. 人工智能概述a.人工智能、机器学习和深度学习b.人工智能发展必备三要素c.小案例 2.人工智能发展历程a.人工智能的起源b.发展历程 3.人工智能的主要分支 二、机器学习1.机器学习工作流程a.什么是机器学习b.机器学习工作流程c.特征工程 2.机器学习算…

FLV流分析

与上一篇TS流分析-CSDN博客一样的,FLV流也是用于音视频合成,且用于音视频传输。 相比于TS流,FLV的封装更为简单,其分为文件头(File Header)、文件体(File Body) 下面分别介绍这几部…

PHP表单验证邮件和URL

在PHP中验证表单中的电子邮件地址和URL地址是确保用户输入数据正确性的重要步骤。下面是一个详细的教程,介绍如何使用PHP来验证电子邮件和URL地址。 一、验证电子邮件地址 电子邮件地址的验证通常涉及检查字符串是否符合电子邮件的标准格式。虽然完全通过正则表达…

【技术支持】canvas转换为图片或PDF保存电脑

注意:有些网站可能由于canvas跨域污染问题,无法使用toBlob,所以无法转换 开发者工具中,选中需要转换的canvas元素(使其可以使用$0语法) 控制台输入如下代码 $0.toBlob(function (blob) {var link document…

java类型转换

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、integer与String类型转换二、字符串转换为数组三、进制转换四、集合转数组集合转换为类型一致的数组数组转换为类型一致的集合 一、integer与String类型转换 方…

Python面试整理-自动化运维

在Python中,自动化运维是一个重要的应用领域。Python凭借其简单易用的语法和强大的库支持,成为了运维工程师的首选工具。以下是一些常见的自动化运维任务以及如何使用Python来实现这些任务: 1. 文件和目录操作 Python的os和shutil模块提供了丰富的文件和目录操作功能。 impo…

【课程系列07】某乎AI大模型全栈工程师-第7期

网盘链接 链接:百度网盘 请输入提取码 --来自百度网盘超级会员v6的分享 课程目标 学习完毕咱们可以收获什么种能力: 1、传统前端 后端 数据分析 产品 绘图 算法工程等工作,一个人都可以实现,实现超级个体的能力 2、可以解决…

【考研数学】概率论:4 种方法解答一道题,你觉得哪种方法又快又好呢?

今天要给大家分享的笔记是:《用画图的方式求解概率论题目很方便,但难点在于如何画和怎么理解》 在这篇考研笔记中,「荒原之梦考研数学」为同学们提供了 4 种不同的方法解答这一道题目,其中最特别的是第一种通过画图求解的方法。 …

Spring框架中的@AliasFor注解

引言 在软件开发中,代码的清晰性和可维护性至关重要。Spring框架作为Java开发中广泛使用的框架之一,提供了丰富的注解来简化配置和提高开发效率。其中,AliasFor是一个重要的注解,它允许开发者定义属性别名,从而提高注…

探索电商 API 接口的创新应用与接入技巧

在当今数字化的商业环境中,电商 API 接口已成为推动业务增长和创新的关键因素。它们不仅为企业提供了与电商平台高效交互的途径,还开启了无数创新应用的可能性。本文将深入探讨电商 API 接口的创新应用,并分享一些实用的接入技巧,…

深度分析 !中国 AI 产业商业化实践案例 ! 2024 !

提供客户全渠道全生命周期的营服销一体化智能服务 京东云言犀依托于全栈自研的人工智能技术,基于京东集团广泛实体业务、庞大而又复杂的产业生态,从内部真实、复杂的海量业务场景实践中推出千亿级参数的言犀大模型,打造全新的智能交互与生成…

海外短剧CPS分销推广系统(APP+H5)推广方案介绍

随着国内的短剧市场火爆!一些平台开始将目光投向海外市场,希望通过推出一些“文化输出”的剧集来吸引那些海外土味爱好者。国内短剧监管政策越来越严格,海外市场成为了短剧行业渴望开拓的新天地,为大家整理了海外推广的方案&#…

Web应用的视界革命:WebKit支持屏幕方向API的深度解析

Web应用的视界革命:WebKit支持屏幕方向API的深度解析 在现代Web应用开发中,屏幕方向的适应性是一个重要的考虑因素。屏幕方向API(Screen Orientation API)提供了一种方法,允许Web应用知道并响应屏幕的方向变化&#x…

【DGL系列】DGL子图分区的生成和加载API

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~ 目录 分区 API 负载均衡 ID 映射 加载分区图 分布式图分区流水线 7.1 Data Preprocessing — DGL 2.3 documentation 在启动训练作业之前&#xf…

【数据结构初阶】单链表经典算法题十道(详解+图例)—得道飞升(终篇)

hi ! 目录 9、 环形链表 || 10、随机链表的复制 终章 9、 环形链表 || 【图解】 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/typedef struct ListNode ListNode; struct ListNode *detectCy…

以一个开发者的身份浅谈Memcached

什么是Memcached? Memcached是一个高性能的分布式内存缓存系统,广泛用于提高大型动态网站和应用的性能。它通过缓存数据和对象来减少读取外部数据源(比如数据库或API)的次数,从而加快数据检索速度并降低延迟。 Memcached的主要…

[css3] 如何设置边框颜色渐变

div {border: 4px solid;border-image: linear-gradient(to right, #8f41e9, #578aef) 1; }参考: 5种CSS实现渐变色边框(Gradient borders方法的汇总