前端项目单独部署nginx服务器

最近公司有新项目计划做前后端分离部署,让前端单独部署在一台AWS的ec2服务器,记录一下部署的过程,免得下次又得查阅资料~

AWS ec2服务器搭建nginx前端服务器

nginx前端项目默认存放目录:/usr/share/nginx/html,不想放这里就在自定义的conf文件修改项目路径(这里的文件放的是项目打包后的文件)

nginx.conf默认存放目录:/etc/nginx

命令:

1.编辑nginx.conf文件,将默认的conf文件修改为自定义的conf

--编辑nginx.conf  sudo vi /etc/nginx/nginx.conf  

--按i开始编辑

找到include /etc/nginx/conf.d/*.conf;  //修改为自己自定义的conf配置文件 include /etc/nginx/vhost/*.conf;

--按Esc退出编辑模式,然后按:wq!保存退出

2.自定义conf文件  sudo vi /etc/nginx/vhost/xxx.conf

server {

   listen      8080;

   server_name  localhost;

   root /home/ec2-user;

   location / {

     try_files $uri @fallback;

   }

   location @fallback {

      rewrite .* /index.html break;

   }

 

    # 配置转接服务

    location ^~ /dev {

      proxy_method POST;

      proxy_set_header Host $host;

      proxy_set_header X-Nginx-Proxy true;

      proxy_set_header X-Real-IP $remote_addr;

      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

      proxy_pass https://xxx;

      proxy_redirect default;

      }

 

   error_page   500 502 503 504  /50x.html;

   location = /50x.html {

     root   /home/ec2-user;

   }

}

3.查看nginx版本

nginx -v

4.检查配置文件格式是否正确

sudo nginx -t -c /etc/nginx/nginx.conf

4.启动nginx命令(注意命令前加上sudo以防权限不够)

切换到nginx启动目录 cd /usr/sbin

启动  ./nginx

重启:./nginx -s reload

关闭:nginx -s stop

检查服务端服务是否启动成功  ps -ef |grep nginx


 

中途遇到的问题:

1.用命令上传项目太麻烦了?

解决:我这里还是用的XFTP,因为后端给的是pem以及用户名/ip,不是用户名密码的方式,所以一开始还在想XFTP还能不能用,最后尝试发现好使,verry good!

1.nginx显示已经启动了,但就是访问不了网站?

解决:原来是AWS里还得设置一下80端口

2.网站访问报了403的错误?

解决:我这里是因为项目所在文件夹权限的问题,普通用户没有访问这个文件夹的权限,设置一下文件夹权限,然后访问成功

你可能感兴趣的:(前端项目单独部署nginx服务器)