nginx进行静态资源映射

将文件上传

前端的静态文件一般是在/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;
      	# 下面配置省略,同第二步
	}


猜你喜欢

转载自blog.csdn.net/m0_46521785/article/details/114809409