• home > OS > Linux > Devops >

    前端文件自動上傳linux服務器,nginx文件權限設置—linux操作手

    Author:zhoulujun Date:

    前端打包,使用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





    轉載本站文章《前端文件自動上傳linux服務器,nginx文件權限設置—linux操作手》,
    請注明出處:http://www.qsexmk.tw/html/OS/Linux/LinuxDevops/8138.html

    彩票快乐双彩