首页 > 技术文章 > Nginx vsftpd安装--图片服务器搭建

redhat0019 2018-08-13 17:36 原文

 

1.  nginx 需要依赖以下模块:

  gzip模块需要 zlib 库

  rewrite模块需要 pcre 库

  ssl 功能需要openssl库

1.1.安装pcre

1.         获取pcre编译安装包,在http://www.pcre.org/上可以获取当前最新的版本

2.         解压缩pcre-xx.tar.gz包。

3.         进入解压缩目录,执行./configure。

4.         make & make install

1.2.安装openssl

1.         获取openssl编译安装包,在http://www.openssl.org/source/上可以获取当前最新的版本。

2.         解压缩openssl-xx.tar.gz包。

3.         进入解压缩目录,执行./config。

4.         make & make install

1.3.安装zlib

1.         获取zlib编译安装包,在http://www.zlib.net/上可以获取当前最新的版本。

2.         解压缩zlib-xx.tar.gz包。

3.         进入解压缩目录,执行./configure。

4.         make & make install

 

1.4.安装nginx

1.         获取nginx,在http://nginx.org/en/download.html上可以获取当前最新的版本。

2.         解压缩nginx-xx.tar.gz包。

3.         进入解压缩目录,执行(指定安装路径/usr/local/nginx)

./configure \

--prefix=/usr/local/nginx \   

--pid-path=/var/run/nginx/nginx.pid \

--lock-path=/var/lock/nginx.lock \

--error-log-path=/var/log/nginx/error.log \

--http-log-path=/var/log/nginx/access.log \

--with-http_gzip_static_module \

--http-client-body-temp-path=/var/temp/nginx/client \

--http-proxy-temp-path=/var/temp/nginx/proxy \

--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \

--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \

--http-scgi-temp-path=/var/temp/nginx/scgi

注意:上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建tempnginx目录

4.  make & make install

5.  /usr/local/nginx/sbin 下存放的就是 nginx 的可执行文件

6. nginx 的启动

  进入 /usr/local/nginx/sbin目录,  执行 ./nginx  启动(nginx 默认端口是 80 ,  测试是否启动成功   浏览器: http://192.168.88.142/ (本机地址)进入欢迎页面就说明启动成功)---如果出现(nginx: [emerg] open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory))错误, 在/var/run下建立nginx文件夹即可

7. nginx 的停止

  进入 /usr/local/nginx/sbin目录 执行 ./nginx -s stop 停止

8. 重新加载配置文件

  进入 /usr/local/nginx/sbin目录 执行  ./nginx -s reload (重启)

9. 安装 vsftpd 服务

  1. http://www.rpmfind.net/linux/rpm2html/search.php?query=vsftpd  下载对应系统的版本

  2. rpm -ivh **.rpm   进行安装

  3. service vsftpd start  启动 ftp 服务

  4. useradd ftpuser  添加 ftp 用户

      passwd ftpuser  为 ftpuser  用户添加密码

  5. 在  /home  目录下会自动建立一个文件夹  ftpuser,  可以在ftpuser目录下建立文件目录 比如  file,   浏览器中访问   ftp://192.168.250.204/file 可以看到file中存储的文件了

  5.  防火墙开启21端口    

    vim /etc/sysconfig/iptables    

    在行上面有22 -j ACCEPT 下面另起一行输入跟那行差不多的,只是把22换成21,然后:wq保存。

     重启iptables    service iptables restart

  6.  关闭匿名访问

    /etc/vsftpd/vsftpd.conf

    

    重启ftp服务: service vsftpd restart

 

   7.  开启被动模式    

    默认是开启的,但是要指定一个端口范围,打开vsftpd.conf文件,在后面加上

    pasv_min_port=30000

    pasv_max_port=30999

    表示端口范围为30000~30999,这个可以随意改。改完重启一下vsftpd

    由于指定这段端口范围,iptables也要相应的开启这个范围,所以像上面那样打开iptables文件。

    也是在21上下面另起一行,更那行差不多,只是把21 改为30000:30999,然后:wq保存,重启下iptables。这样就搞定了。

   8. 设置开机启动vsftpd ftp服务

    chkconfig vsftpd on

 

 

 

 

10. 修改 nginx 配置文件

  cd  /usr/local/nginx/conf   vi nginx.conf  指定 nginx 存储根目录

 server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /home/ftpuser/www;
            index  index.html index.htm;
        }

11. 使用工具类 ftpUtil 来上传图片到指定目录(参考 ftp 上传文件) 链接:https://pan.baidu.com/s/1Y-an-VCviLrCPcgO6I9tgw 密码:4t1j

@Test
    public void testFtpClient2() throws FileNotFoundException {
        FileInputStream fileInputStream = new FileInputStream(new File("D:\\hello.png"));
        FtpUtil.uploadFile("192.168.88.142", 21, "ftpuser", "ftpuser", "/home/ftpuser/www/images", 
                "/2018/08/14", "hello.png", fileInputStream);
    }

12. 通过 http://192.168.88.142/images/2018/08/14/hello.png  来访问 nginx 中的图片

 

推荐阅读