一、基于域名配置 server
1. 一个配置文件通常只包含一个 http 模块。
2. 一个 http 模块可以有多个 server 模块。
3. 每个 server 模块代表一个 web 项目。
4. 在 server 模块中可以定义多个 location。
5. location 对应项目中的 URL 路由。
# 第一步
创建项目目录:
mkdir /zhangmin
# 第二步
创建首页文件:
echo "i am zhangmin" > /zhangmin/index.html
# 第三步
编辑 Nginx 配置文件:
vim /usr/local/nginx/conf/nginx.conf
添加内容到 http 部分:
nginx
http {
server {
listen 80;
root /zhangmin;
server_name www.zhangmin.com;
location / {
index index.html;
}
}
...
}
# 第四步
修改 hosts 文件:
vim /etc/hosts
添加域名解析:
text
10.1.1.10 www.zhangmin.com
使用 curl 测试访问:
curl www.zhangmin.com
当 Nginx 服务器中有多个 server 时,管理变得复杂,因此可以将每个 server 配置单独保存为一个文件,然后在主配置文件中使用 include 指令。
创建目录以存放独立配置文件:
mkdir /usr/local/nginx/conf.d/
创建 zhangmin 的配置文件:
touch /usr/local/nginx/conf.d/zhangmin.conf
将 server 配置提取到新文件:
sed -n 'server 配置所在行号 p' /usr/local/nginx/conf/nginx.conf > /usr/local/nginx/conf.d/zhangmin.conf
从主配置文件中删除对应的 server 配置:
sed -i 'server 配置所在行号 d' /usr/local/nginx/conf/nginx.conf
编辑主配置文件以包含新的配置:
nginx
include /usr/local/nginx/conf.d/*.conf;
重新加载 Nginx 配置:
/usr/local/nginx/sbin/nginx -s reload
二、基于 IP 配置 server
为网卡添加新 IP 地址:
ifconfig ens33:1 10.1.1.11
添加基于 IP 的 server 配置:
nginx
server {
listen 80;
server_name 10.1.1.10;
root /zhangmin;
location / {
index index.html;
}
}
server {
listen 80;
server_name 10.1.1.11;
root html;
location / {
index index.html;
}
}
基于端口的配置通常用于内部测试,可以省略 server_name。例如:
nginx
server {
listen 80;
...
}
server {
listen 8080;
...
}
停止防火墙服务(可选操作):
systemctl stop firewalld
开放指定端口(可选操作):
firewall-cmd --zone=public --add-ports=8080/tcp --permanent && firewall-cmd --reload
三、部署 Node.js 项目
1. 安装包管理器和 Node.js:
在第一台主机上执行:
[root@localhost ~]# yum list installed | grep epel
epel-release.noarch 7-11 @extras
[root@localhost ~]# yum -y install nodejs
[root@localhost ~]# node -v
v16.20.2
[root@localhost ~]# yum -y install npm
[root@localhost ~]# npm -v
8.19.4
2. 创建 eleme 项目:
[root@localhost ~]# npm config set registry https://registry.npmmirror.com
[root@localhost ~]# npm install @vue/cli
[root@localhost ~]# find / -name "vue"
/root/node_modules/vue
/root/node_modules/.bin/vue
[root@localhost ~]# ls -l /root/node_modules/.bin/vue
lrwxrwxrwx. 1 root root 22 7月 31 14:47 /root/node_modules/.bin/vue -> ../@vue/cli/bin/vue.js
[root@localhost ~]# /root/node_modules/.bin/vue -V
@vue/cli 5.0.8
3. 创建 Vue 项目:
[root@localhost ~]# /root/node_modules/.bin/vue create eleme_web
一、将eleme项目使用Samba共享
1. 首先,确保已经安装了Samba软件包。在终端中输入以下命令来安装:
[root@localhost ~]# yum -y install samba
2. 接下来,创建一个Samba共享配置文件。使用文本编辑器打开`/etc/samba/smb.conf`文件,并添加以下内容:
ini
[eleme_web]
comment = daning
path = /root/eleme_web
guest ok = no
writable = yes
3. 创建一个新用户并设置Samba密码:
[root@localhost ~]# useradd vueediter
[root@localhost ~]# smbpasswd -a vueediter
4. 设置文件夹权限,以便用户可以访问和修改eleme_web文件夹:
[root@localhost ~]# setfacl -m u:vueediter:rwx /root/eleme_web/
5. 重启Samba服务以应用更改:
[root@localhost ~]# systemctl restart nmb.service
[root@localhost ~]# systemctl restart smb.service
6. 在eleme_web文件夹下创建公共文件夹:
[root@localhost ~]# mkdir public/img
[root@localhost ~]# mkdir public/video
[root@localhost ~]# mkdir public/music
7. 安装NFS工具并挂载远程文件夹:
[root@localhost ~]# yum -y install nfs-utils.x86_64 nfs4-acl-tools.x86_64
[root@localhost ~]# mount -t nfs 192.168.110.21:/static/img public/img/
二、第二台主机配置
1. 在第二台主机上,编辑`/etc/exports`文件,添加以下内容以共享`/static/img`文件夹:
text
/static/img *(rw,sync)
2. 创建`/static/img`文件夹并启动NFS服务:
[root@localhost ~]# mkdir -p /static/img/
[root@localhost ~]# systemctl restart rpcbind.service
[root@localhost ~]# systemctl restart nfs
3. 检查NFS服务状态:
[root@localhost ~]# netstat -lnput | grep rpcbind
这将显示rpcbind服务正在监听的端口,表明NFS服务已成功启动。