前置条件
假设我们的ip是 198.70.80.19
假设我们的域名是 lioblog.cn
假设项目1是blog,并已打包资源放在 /blog/blog目录下
假设项目2是admin,并已打包资源放在 /blog/admin目录下
1.下载nginx并启动
因为只是比较简单的项目所以没有使用其他的库
yum install nginx
nginx
访问ip或域名是否有nginx页面,有nginx页面后就可以进行nginx相关配置
修改nginx配置
切换到nginx目录
cd /etc/nginx/
只配置blog项目
将nginx.conf文件htpp中的server改成如下配置, 将前端资源放入/blog/blog
server {
listen 80; #监听的端口号
server_name 198.70.80.19; #服务器域名或ip地址
location / {
root /blog/blog; #资源文件夹路径
index index.html;#入口文件
}
}
基于location配置两个项目
- blog访问地址:198.70.80.19
- admin访问地址:198.70.80.19/admin
http {
server {
listen 80; #监听的端口号
server_name 198.70.80.19; #服务器域名或ip地址
location / {
root /blog/blog; #资源文件夹路径
index index.html;#入口文件
}
location /admin {
alias /blog/admin; #不是根路径的项目需要使用alias来指定资源路径并且需要在项目里配置route的baseurl
index index.html;#入口文件
}
}
}
nginx -t #测试文件是否可用
nginx -s reload #重启nginx服务
注意不是根路径的项目需要使用alias来指定资源路径并且需要在项目里配置route的baseurl react 配置请参考: blog.csdn.net/mollerlala/…
vue 配置请参考:blog.csdn.net/weixin_3386…
基于二级域名配置两个项目(必须要有域名才可以操作)
- blog访问地址: blog.lioblog.cn
- admin访问地址: admin.lioblog.cn
step1 设置解析域名
到阿里云解析设置页面点击添加记录
写入自己的二级域名和服务器ip(解析需要一定时间可以点击列表处的生效检测查看是否生效)
step2 进入服务器nginx配置文件
cd /etc/nginx
修改 nginx.conf文件
在http中加入两个server都监听80端口,只有server_name和项目入口有所区别
server {
listen 80;
server_name blog.lioblog.cn;
location / {
root /blog/blog;
index index.html;
}
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
server {
listen 80;
server_name admin.lioblog.cn;
location / {
root /blog/admin;
index index.html;
}
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
nginx -t #测试文件是否可用
nginx -s reload #重启nginx服务
总结
基于location配置:
- 优点:可以无域名配置两个前端项目。
- 缺点:需要修改项目配置并且路由模式必须是hash
基于二级域名配置:
- 优点:相当于两个项目配置在不同域名下,完全隔离
- 缺点:必须有域名并且需要dns解析二级域名