FastDFS+nginx+tomcat在linux系统的配置

来源:互联网 发布:如何利用网络做直销 编辑:程序博客网 时间:2024/05/16 10:31

系统环境:Centos 6.5

nginx版本:nginx-1.8.1

FastDFS版本:FastDFS_v5.05.tar

java版本:jdk-7u80-linux-x64.tar

tomcat版本:apache-tomcat-7.0.78

1.Nginx

1.1 Nginx在Centos上的安装

nginx是一个使用c语言编写的应用程序,主要用途是负载均衡和反向代理。作为范围为:

1、http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。

2、虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。

3、反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。可以平均分担,不会因为某一台服务器出现宕机而无法使用。

安装linux虚拟机的步骤就不再说了,有兴趣的可以自己搜,挺简单的。首先因为nginx是c语言开发的,所以依赖GCC环境。在centos中,安装命令如下:

yum install gcc-c++ 
下载GCC环境。如果是第一次安装的话,会提示你本机没有安装。可以跟着提示安装,大概5分钟的样子就下载好了。除此之外,nginx中的http模块需要用Pcre库(Perl Compatible Regular Expressions)来解析正则表达式,还需要安装Pcre库。安装命令如下:
yum install -y pcre pcre-devel

说明:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要这个库。

ngixn使用zlib对http的内容进行解压和压缩,也需要安装这个。安装命令如下:

yum install -y zlib zlib-devel
nginx不仅支持http,也支持https(http+ssl不懂可以搜索),所以为了安全,安装OpenSSL,这是一个强大的安全套接字层密码库。安装命令如下:
yum install -y openssl openssl-devel
到这一步,安装所需要的库已经好了。我们将nginx的源码上传到服务器,使用远程工具SecureCRT(本人机器版本为Version 8.0.4)。


点击下一步

 


Hostname是IP地址。端口不用改。用户名是就是安装虚拟机时候的用户名。连接成功后,输入

su -
输入密码,进入root用户。按住Alt+P,直接将nginx的源码拖过来就可以了。

红色矩形的就是nginx的目录。进入目录:

cd /home/mills
解压
tar -zvxf nginx-1.81.tar.gz
在当前目录会得到nginx-1.81.tar.gz的文件夹。
cd nginx1.8.1ll
会看到有一个configure的文件。我们就要先对他进行编译。不过在编译之前。我们需要先新建几个目录
mkdir /var/tempmkdir /var/temp/nginx
或者使用
mkdir -p /var/temp/nginx
都可以达到目的。

创建完毕之后,回到/home/mills/nginx-1.8,1目录下编译

./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


之后会有一个MakeFile的文件。接着输入先make,执行完毕make install。
makemakeinstall
到这里就安装完毕了。然后启动nginx。进入目录cd /usr/local/nginx/sbin  输入
./nginx

就可以启动,我们可以在本机上输入192.168.83.130进行访问。

看到这个页面就是说访问成功了。如果没有看到,多半是防火墙的事情。输入

vim /etc/sysconfig/iptables
添加一句
-A INPUT -p tcp -m state NEW -m tcp --dport 80 -j ACCEPT
这样就打开了80端口。vim的使用就不多说了。i插入,:wq保存退出
停止nginx服务,在/usr/local/nginx/sbin目录下输入
./nginx -s stop
当修改了nginx服务之后,不用停止在启动,输入
./nginx -s reload
就可以了

1.2 Nginx的配置

/usr/local/nginx/conf目录下nginx.conf文件是nginx的配置文件。

主要的配置就是server这一块


  # 很重要的虚拟主机配置    server {        listen       80;#监听的端口        server_name  itoatest.example.com;#域名        root   /apps/oaapp;#访问目录        charset utf-8;#编码格式        access_log  logs/host.access.log  main;        #对 / 所有做负载均衡+反向代理        location / {            root   /apps/oaapp;            index  index.jsp index.html index.htm;#html文件            proxy_pass        http://backend;              proxy_redirect off;            # 后端的Web服务器可以通过X-Forwarded-For获取用户真实IP            proxy_set_header  Host  $host;            proxy_set_header  X-Real-IP  $remote_addr;              proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;            proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;                    }

就是说可以从

itoatest.example.com通过80端口访问,默认打开root目录下的index.jsp页面

修改完要重新加载配置文件。

有一个很关键的地方,我在配置好fastDFS的时候,怎样都在浏览器访问不到,最后在nginx的配置文件开头加上了
user root;
就ok了。

1.3nginx的反向代理

我们先说说正向代理:就是多个电脑访问代理服务器,然后接入互联网, 这里面只有一台服务器。那么反过来,反向代理,就有多个服务器,比如你的电脑访问一个百度,百度的首页可能就有50个服务器,不同的电脑访问不同的服务器,这样就减缓了服务器的压力。可以通过多个tomcat来模拟。tomcat的上传,解压,还需要有jdk。这些不再叙述。nginx的配置文件如下:
 upstream tomcats{server 192.168.25.148:8080 weight=4server 192.168.25.148:8081;   }   server {        listen       80;        server_name  tomcat.nginxtest.com;        #charset koi8-r;        #access_log  logs/host.access.log  main;        location / {            proxy_pass   http://tomcats;            index  index.html index.htm;        }   }
当我们通过
tomcat.nginxtest.com
访问服务器的时候,下面的location就会将请求转发到tomcats,我们通过upstream定义了tomcats,访问的就是192.168.25.148:8080,熟悉java web开发的人知道,这个会访问Tomcat的首页。而后面的weight就定义了权重,也就是说,你用同一台机器访问500次的话,有400次访问的是192.168.25.148:8080这个服务器。默认为1.这就是负载均衡。

先睡觉,明天在写。


参考文献:http://seanlook.com/2015/05/17/nginx-install-and-config/