nginx和ftp图片服务器的搭建记录

来源:互联网 发布:清华精神知乎 编辑:程序博客网 时间:2024/05/13 19:37

图片服务器需要两个服务:

   

Nginx(图片访问):      1、http服务:可以使用nginx做静态资源服务器。也可以使用apache。推荐使用nginx,效率更高。      2、反向代理 实现 负载均衡    ftp服务(图片上传):      使用linux做服务器,在linux中有个ftp组件vsftpd。

两个服务器的搭建就不详细介绍了,主要记录今天在用ftp上传图片遇到的问题。

        vsftp装好后,开启21端口,因为ftp默认的端口为21,而centos默认是没有开启的。同时修改selinux开启外网访问。

修改selinux


执行以下命令查看状态:

[root@bogon ~]# getsebool -a | grep ftp  

allow_ftpd_anon_write --> off

allow_ftpd_full_access --> off

allow_ftpd_use_cifs --> off

allow_ftpd_use_nfs --> off

ftp_home_dir --> off

ftpd_connect_db --> off

ftpd_use_passive_mode --> off

httpd_enable_ftp_server --> off

tftp_anon_write --> off

[root@bogon ~]#

执行上面命令,再返回的结果看到两行都是off,代表,没有开启外网的访问

[root@bogon ~]# setsebool -P allow_ftpd_full_access on

[root@bogon ~]# setsebool -P ftp_home_dir on

这样应该就没问题了,这时可以实现图片上传。(如果,还是不行,看看是不是用了ftp客户端工具用了passive模式访问了,如提示Entering Passive mode,就代表是passive模式,默认是不行的,因为ftp passive模式被iptables挡住了,下面会讲怎么开启,如果懒得开的话,就看看你客户端ftp是否有port模式的选项,或者把passive模式的选项去掉。如果客户端还是不行,看看客户端上的主机的电脑是否开了防火墙,关吧)


关于图片服务器的配置

进入nginx的配置文件:将nginx服务器默认网站根目录位置定义到ftp服务账户ftpuser的根目录下的www目录,有两种方法
cd /usr/local/nginx/conf/
方法一、在配置文件server{}中location /{} 修改配置:location / {   root  /home/ftpuser/www;#定义服务器的默认网站根目录位置   index index.html index.php index.htm;#定义首页索引文件的名称}其中:/home/ftpuser/www;为创建FTP服务账户ftpuser的根目录下的www目录方法二、在http{}内配置新服务        listen       8080;        server_name  localhost;        #charset utf-8;        #access_log  logs/host.access.log  main;        #默认请求        location / {            root  /home/ftpuser/www;#定义服务器的默认网站根目录位置            index index.html index.php index.htm;#定义首页索引文件的名称           }        }

现在在/home/ftpuser/www目录下新建一个image文件夹,传入图片hello.jpg
主机地址栏输入:http://xxx.xxx.xx.xx/images.hello.jpg,此时却出现403错误,应该是没有访问权限造成的,在nginx的conf配置文件头中加入user ftpuser,保存并退出重启nginx,再次访问,成功!



     

0 0