基于域名的虚拟主机
步骤
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-sreload
6. 设置hosts劫持
vim/etc/hosts
192.168.71.161 www.zm.co
7. 在window也可以如此设设置,但是要注意要设置读写权限
多虚拟主机的配置
一个服务器上同时部署多个项目,为了方便维护,可以将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
基于IP的虚拟主机
基于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;
基于端口的虚拟主机
基于端口的虚拟机的配置
不同端口访问不同的项目,这种一般用于企业内部测试,不会用于发布项目
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
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代理发布基于域名