一、基于域名的虚拟主机
效果
劫持域名访问指定的文件夹的目录
步骤
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 服务
6. 设置 hosts 劫持
-
vim /etc/hosts
-
192.168.71.161 www.zm.co
7. 在 window 也可以如此设设置,但是要注意要设置读写权限
二、基于ip地址访问不同虚拟主机
1. 效果,使用不同的 ip 地址访问不同的项目
2. 步骤
1. 在 linux 系统中添加新的 ip 地址
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;
三、多虚拟主机的配置
一个服务器上同时部署多个项目 , 为了方便维护,可以将 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 复制到
-
sed -n '36,42p' /usr/local/nginx/conf/nginx.conf >
-
/usr/local/nginx/conf.d/devops.conf
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上挂载安装
6. 在 window 中对 samba 编辑
7. 在本地方法
8. 使用 frp 代理发布