Php 如何使用NGINX为每个网站(/home)创建SFTP登录?

Php 如何使用NGINX为每个网站(/home)创建SFTP登录?,php,linux,wordpress,nginx,sftp,Php,Linux,Wordpress,Nginx,Sftp,我需要创建一个SFTP登录,它可以用公共html编写,Wordpress也可以安装和删除应用程序 通过将站点权限传递给nginx(用户和组),并使用wp-config.php中的FS_方法,Wordpress能够更新、删除和安装插件。 当向登录站点(用户)和组(www)传递权限时,SFTP工作,但Wordpress停止工作 在Apache中,这是可能的,现在使用NGINX,我是否需要与NGINX组链接一些东西来创建SFTP echo "Insert your domain:"

我需要创建一个SFTP登录,它可以用公共html编写,Wordpress也可以安装和删除应用程序

通过将站点权限传递给nginx(用户和组),并使用wp-config.php中的FS_方法,Wordpress能够更新、删除和安装插件。 当向登录站点(用户)和组(www)传递权限时,SFTP工作,但Wordpress停止工作

在Apache中,这是可能的,现在使用NGINX,我是否需要与NGINX组链接一些东西来创建SFTP

echo "Insert your domain:"
read vhost

#Security directory home vhost without shell
chown root:root /var/www
chmod 751 /var/www
groupadd www
useradd --system --shell /usr/sbin/nologin --groups www --home /var/www/$vhost $vhost
mkdir /var/www/$vhost
chown root:www /var/www/$vhost
chmod 751 /var/www/$vhost
mkdir /var/www/$vhost/public_html
chown $vhost:www /var/www/$vhost/public_html
chmod 751 /var/www/$vhost/public_html
配置WP:

您可以每次填写FTP凭证提示,或将以下内容放入wp-config.php文件

// Path to your key files, if you got multiple key files remember to
// use the right key here.
define('FTP_PUBKEY', '/home/user/.ssh/id_rsa.pub');
define('FTP_PRIKEY', '/home/user/.ssh/id_rsa');

// The SFTP user goes here.
define('FTP_USER', 'user');

// This was a culprit for me once, didn't work without it.
// Possible values: "direct", "ssh2", "ftpext", or "ftpsockets".
define('FS_METHOD', 'direct');

// Hostname, define a custom port here if in use.
define('FTP_HOST', 'example.com:73000');
此外,可能需要安装libssh2 php:

$ sudo apt-get update && apt-get install libssh2-php
安装后重新启动Web服务器

$ service nginx restart