‘壹’ 如何解决nginx+tomcat文件上传问题
最常用的方法是通过设置nginx的client_max_body_size解决nginx+php上传大文件,主要是设置上传文件大小和php脚本运行时长即可。
‘贰’ 如何用curl命令上传文件到制定的目录
把临时目录下的文件移动到目标上传目录
move_uploaded_file($file['tmp_name'], $filename)
‘叁’ nginx服务器怎样提升权限
有时候我们的网站根目录会从一个目录迁移到另一个目录,如果我们服务器使用的是nginx或者Apache,我们一般会配置好网站根目录后然后往直接把网站解压或者上传到根目录中,这样引起的问题是无法对对文件进行任何的操作导致网站的异常,这在框架中最为常见,本地运行好好的网站,上传到服务器之后突然就不能访问了,出现很多错误,这就是在Linux下存在的权限问题,网上有些方法是很粗暴的使用chmod -R 777 dirname把所有的文件权限全部打开,其实这样能解决问题,但是不是最好的解决方案,我们如果理解Linux系统的用户权限那么问题就有更好的解决方案,下面以nginx服务器为例看一下
首先默认的网站目录是755权限的并且我们在root用户下的默认权限也是该用户的权限,就是目录的所属用户和用户组都是root,当我们访问网站时,浏览器发出请求,服务端相应的资源处理请求,如果涉及到文件的修改或新建操作时,服务端程序负责执行,由于服务端程序是由nginx和相应的语言解释模块负责执行的,所以首先服务器要有权限修改网站目录,我们打开nginx服务器下的配置文件nginx.conf,第一行就是nginx执行的用户和组的设置
修改之后重启php-fpm模块,到这里用户配置就完成了
然后我们可以新建一个专门用于网站和ftp上传文件的用户,该用户是不登录的所以建立的时候要使用/sbin/nologin来建,我们看到nginx服务器的权限是www所以此时我们的做法是把网站根目录的权限改为www,命令为:
chown -R -v www:root /www/wwwroot
这样的话网站用户和组的的权限分别是www和root,服务器作为用户的读写是没有任何问题的,这个时候如果服务端自动建立的文件用户权限就为www组权限也为www,这样就具有完全的控制权了并且权限限制的刚好,
另外有些时候我们使用的网页富文本编辑器会遇到权限的问题,导致无法上传文件或者建立目录,这个时候我们只需要手动更改上传目录的权限为777即可,比如:chmod 777 upload 可能原因是编辑器前后端使用的是js交互,所以并不完全是nginx服务器的缘故
经过以上的步骤,在Linux上部署网站时,权限问题就解决了
‘肆’ linux版本nginx解压后ftp到linux上还需要安装么
sure .没 编译怎么用??./configure --user=www --group=www --prefix=/usr/local/Nginx/ --with-http_stub_status_mole
--with-openssl=/usr/local/openssl
make && make install
‘伍’ Linux中我能不能把FTP账号和NGINX账号同时分配给同一个文件夹
1、你通过vim /etc/vsftpd/vsftpd.conf,打开配置文件。
2、添加下面的语句,指定所有FTP账号登录上来的目录
local_root=/var/log/nginx
3、添加下面的语句,指定FTP账号的存放路径
chroot_list_file=/etc/vsftpd/chroot_list
4、在/etc/vsftpd下面新增chroot_list文件,因为默认好像没有,把ftp用户写到里面,比如:
ftp-user1
ftp-user2
ftp-user3
这样设置以后,上面三个账号登录后,都会定位在/var/log/nginx目录。Nginx这个目录的权限你调整为Nginx就行,不影响上面的ftp账号登录。
‘陆’ 上传文件到nginx服务器很慢怎么解决
也可能是服务器网络和本地网络互联互通的问题。比如您本地是电信宽带。服务器是联通或者其他非电信的。这类可能会出现您的这种情况。
‘柒’ 如何使用ftp用curl命令上传文件
使用ftp用curl命令上传文件方法:
第一种:
server端有现成的ftpserver:
上传的option是 -T
比如我们向ftp传一个文件: curl -T localfile -u name:passwd ftp://upload_site:port/path/
curl -T hadoop_oom.log -u user:1234567 ftp://1.1.1.1/
第二种:
nginx上传: (需要加上--with-http_dav_mole模块 )
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_mole --with-http_ssl_mole --with-http_dav_mole
make && make install
要创建上传的临时目录
mkdir -p /dev/shm/client_body_temp
nginx http段加入:
client_body_temp_path /dev/shm/client_body_temp 1 2;
client_max_body_size 1024m; #这个根据实际的情况,如有大文件upload需要加大,不然nginx抛413 error
然后:
server
{
listen 80;
server_name 1.1.1.1;
index index.html index.htm index.php;
root html;
autoindex on;
dav_methods PUT; #这个是重点默认不允许PUT
测试:
curl -T hadoop_oom.log http://1.1.1.1/
安全注意事项:
一般需要单独location一个目录单独做upload用。或者这个nginx只做upload上传单一用途。
然后就是nginx allow了,一般机房都是内网打通的,只允许idc内网才能PUT。不然就能任意PUT到你的upload机器了。
‘捌’ nginx下安装的vsftp,经常就卡在100%,请问怎么回事
可能问题所在:passive模式开放的端口数少,或者,传输超时时间设置的小。肯定是配置错误。建议备份配置文件后,恢复默认配置。不断尝试,不断解决
‘玖’ 怎样把网站挂到服务器上
一、首先说明把网站挂到服务器上,就是上线网站。目前尚不明确你网站使用的是那种程序,无法做出具体的教程。
二、准备好服务器或者虚拟主机,服务器和虚拟主机可以从服务商购买。在选择配置时,要根据网站的体量选择空间大小,网站的用户量和可能的并发数量选择带宽和内存、cpu等;
三、准备好域名。使用国内的服务器还要注意要进行备案,备案时间一般为20个工作日以内;
四、把网站程序打包,通过ftp软件整体上传到服务器或者虚拟主机,如果是一些常用的cms内容管理系统程序,在上传到服务器以后,首先要进行安装操作,具体针对你使用网站程序不同而已。
五、域名解析,服务器配置好以后。用域名访问,测试网站前后台所有功能看是否正常。完全正常,说明上线OK。