将文件上传
前端的静态文件一般是在/var/www
这个目录下
修改nginx的配置文件
vim /etc/nginx/nginx.conf
在http作用域下添加
server {
listen 80;
server_name 47.103.198.84;
location / {
root /var/www/feidian/feidian/;
index index.html;
}
}
配置文件解释:
- server无需解释
- listen表示监听哪个端口,当访问页面的时候默认访问80端口,因此这里不用改
- server_name是你的服务器地址
- location是访问的格式
- /表示直接访问网站就进行映射
- root是你的静态资源在那个目录
- index是你的静态资源在映射的目录钟名称叫什么
重启nginx
nginx -
权限问题
当文件不在/var/www
目录下,文件的读写权限不在nginx,需要修改文件访问权限
- /data是你的文件夹路径
- -R表示这里面所有的文件(递归)
- 777表示所有用户可修改
chmod -R 777 /data
一般nginx监听配置
server {
listen 9005;
server_name 192.168.0.5;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root D:/hospitalPage/dist;
index index.html index.htm;
#limit_rate 1280k; #限制速度
client_max_body_size 100M;
allow all;
autoindex on;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header 'Access-Control-Allow-Headers' 'Content-Type';
add_header 'Access-Control-Allow-Methods' 'GET';
add_header 'Access-Control-Allow-Methods' 'POST';
add_header 'Access-Control-Allow-Methods' 'DELETE';
add_header 'Access-Control-Allow-Methods' 'PUT';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Origin' '*';
proxy_connect_timeout 600s;
proxy_read_timeout 600s;
proxy_send_timeout 600s;
access_log off;
break;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
nginx代理后刷新显示404
原因是因为web单页面开发模式,只有一个index.html入口,其他路径是前端路由去跳转的,nginx没有对应这个路径,当然就是404了。
解决方法是:在配置中加上try_files,意思跟翻译差不多,“尝试读取文件”。try_files $uri $uri/ /index.html;
修改配置如下
1、如果是在根目录则配置如下
location / {
root /;
index index.html;
try_files $uri $uri/ /index.html
# 下面配置省略,同第二步
}
2.如果是有特定目录
location /xx/xx/ {
root /;
index index.html;
try_files $uri $uri/ /xx/xx/index.html
# 下面配置省略,同第二步
}
例如:
location /payfor/ {
root /home/web;
index index.html;
try_files $uri $uri/ /payfor/index.html;
# 下面配置省略,同第二步
}