首页 > os > linux > > 正文

前端文件自动上传linux服务器,nginx文件权限设置—linux操作手

发布人:zhoulujun    点击:

前端打包,使用webpack-sftp-client自动上传打包文件,如果不使用nginx用户上传,默认是403没有权限访问,除非设置nginx用户为root,否则就要用nginx用户上传,但是默认nginx用户是没有登录,上传权限。

前端打包,使用webpack-sftp-client自动上传打包文件,配置如下

new WebpackSftpClient({
    port: '22',
    host: 'zhoulujun.cn',
    username: 'zhou',
    password: '*******',
    path: './dist/',//本地上传目录
    remotePath: '/home/wwwroot/site/',//服务器目标目录
    verbose: true
  })

但是,nginx使用nginx用户再跑,而上传文件不是nginx用户,所以肯定访问不到,在内网中测试,直接把nginx改为root用户跑就好,

#user nginx;

user root;

nginx用户,一般安装nginx或者环境自己已经内置,比如新增nginx

useradd: user 'nginx' already exists

但是,如果用nginx登录,会发现

This account is currently not available nginx

修改/etc/passwd 文件,

# cat /etc/passwd | grep nginx

发现它的shell是“/sbin /nologin”,需要将起改成“/bin/bash

nginx:x:997:994:Nginx web server:/var/lib/nginx:/bin/bash

然后,发现nginx可以登录,修改nginx密码

passwd nginx

设置密码后,发现用nginx登录,无法上传文件

所以可以修改nginx的文件访问权限

修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:

## Allow root to run any commands anywhere

root    ALL=(ALL)     ALL

nginx  ALL=(ALL)     ALL

或许把nginx加入root用户组

vim /etc/group




下一篇:Last page