安装环境
nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。
gcc
安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:
yum install gcc-c++
PCRE
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
yum install -y pcre pcre-devel
zlib
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
yum install -y zlib zlib-devel
openssl
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
yum install -y openssl openssl-devel
编译安装
将下载好的Linux版本的nginx压缩包上传到Linux服务器的/usr/local/src下
解压:
tar -zxvf nginx-1.8.0.tar.gz
其中,z代表压缩的格式,x代表压缩,v表示显示进度,f是后面接要压缩的文件名
cd nginx-1.8.0
接着我们需要设置编译参数,进入nginx后执行以下代码
1 | ./configure \ |
注意:上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录
完成后我们会得到Makefile文件夹
编译:make
安装:make install
我们在上面参数中设置了安装到/usr/local/nginx文件夹中
安装成功查看安装目录 :
nginx使用
启动nginx
1 | cd /usr/local/nginx/sbin/ |
这时候,我们可以通过ip访问查看是否成功启动,由于nginx默认是80端口,我们之间在浏览器输入ip不需要添加端口号即可查看
很不幸,打不开链接,下面进行原因排查:
说明服务器的80端口是打不开的。
我们需要手动打开80端口
/sbin/iptables -I INPUT -p tcp —dport 80 -j ACCEPT
将打开的端口的访问规则保存在文件中
/etc/rc.d/init.d/iptables save
查看机器开放的端口号
/etc/init.d/iptables status
这时候,我们再次刷新浏览器就可以发现nginx启动了
停止nginx
方式1,快速停止:
cd /usr/local/nginx/sbin
./nginx -s stop
此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。
方式2,完整停止(建议使用):
cd /usr/local/nginx/sbin
./nginx -s quit
此方式停止步骤是待nginx进程处理任务完毕进行停止。
重启nginx
方式1,先停止再启动(建议使用):
对nginx进行重启相当于先停止nginx再启动nginx,即先执行停止命令再执行启动命令。
如下:
./nginx -s quit
./nginx
方式2,重新加载配置文件:
当nginx的配置文件nginx.conf修改后,要想让配置生效需要重启nginx,使用-s reload不用先停止nginx再启动nginx即可将配置信息在nginx中生效,如下:
./nginx -s reload
开机自启
在/etc/init.d/目录下创建nginx文件
vi /etc/init.d/nginx
在脚本中添加如下命令:
1 | #!/bin/bash |
设置/etc/init.d/nginx 执行权限
chmod 777 /etc/init.d/nginx
设置开机默认启动
1 | chkconfig --add nginx //添加系统服务 |
nginx搭建图片服务器
在vsftpd组件安装完成后,我们可以通过nginx搭建服务器,安装vsftpd详细步骤在另一篇博客《Linux安装ftp组件(CentOS6.5为例)》
配置图片存放,访问路径
vim /usr/local/nginx/conf/nginx.conf
修改完成后,进入到/usr/local/nginx/sbin 目录下,重新启动nginx服务器
./nginx -s reload
修改用户访问权限
这时候我们查看上传的图片会报403Forbidden错误,简单的理解为没有权限访问此站,因此我们还需要修改用户访问权限
chown ftpadmin /home/ftpadmin`
chmod 777 -R /home/ftpadmin
上传
这时候我们就可以通过工具将要上传的图片上传到/home/ftpuser/www/images下面
然后可以直接在地址后面加/images/上传名就可以访问了
Java代码访问ftp服务器
使用apache的FTPClient工具访问ftp服务器。需要在pom文件中添加依赖:
1 | <dependency> |
1 | public class FtpClientTest { |
封装成工具类
1 | package com.taotao.common.utils; |