nginx安装还是很简单的,虽然网上有很多的安装教程,我也看过一些,但是很多写的比较乱,比较难懂,所以就自己写一篇,希望可以帮助到大家
先说环境吧,本人用的Centos7 x86_64 同样也是现在服务器使用最多的linux发行版本,当然centos6,跟7还是有区别的,这样主要说7
第一步:先安装nginx所需要的依赖包直接yum安装就可以
yum -y install openssl zlib zlib-devel pcre pcre-devel
第二步:下载nginx安装包,我这里是指定了下载目录,如果不想下载在这个目下,只需要 把/root/Download改成你想要的目录就可以了,这个是nginx1.8.1版本,如需其他版本换成你想要的链接就可以了
wget -c -P /root/Download http://nginx.org/download/nginx-1.8.1.tar.gz
第三步:解压,编译安装
cd /root/Download
tar -zxvf nginx-1.8.1.tar.gz
cd nginx-1.8.1
./configure --prefix=/usr/local/nginx
make&&make install 这些命令输完后就算安装完了,现在nginx也是可以直接启动的
cd /usr/local/nginx目录,然后./sbin/nginx -c ./conf/nginx.conf启动,打开浏览器输入127.0.0.1就可以看到nginx的界面了
下面是一些nginx的反向代理和动静分离的配置信息,nginx里面#代表的就是注释。修改完配置文件后直接./nginx -t 检查有没有错,如果没报错,说明是可以通过的,直接./nginx -s reload平滑重启nginx就可以了
#user nobody;
worker_processes 1;#这里的1代表的服务器是单,相应的双核就写2
#error_log logs/error.log; #这里是日志就不多说了。需要启用的把#去掉就可以
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 128;
client_header_buffer_size 128k;
large_client_header_buffers 8 128k;
client_max_body_size 8m;
server_tokens off; #屏蔽nginx版本信息
sendfile on;
tcp_nopush on;
keepalive_timeout 10;
client_header_timeout 10;
client_body_timeout 10;
reset_timedout_connection on;
send_timeout 10;
fastcgi_buffers 8 128k;
gzip on; #开启压缩
map $http_upgrade $connection_upgrade {
default upgrade;
‘‘ close;
}
upstream fuzai { #这里的fuzai相当于一个别名吧。名字可以随便起的
server 192.168.0.1:8080 max_fails=3 weight=1 fail_timeout=60s;#weight是权重,权重越大被分配到几率就越大
server 192.168.0.2:8080 max_fails=3 weight=1 fail_timeout=60s;#这里以三台为例。后端都是tomcat,写上相应的tomcat地址就可以了
server 192.168.0.3:8080 max_fails=3 weight=1 fail_timeout=60s;
}
server {
#禁止通过ip访问
listen 80;
server_name _;
#server_name weihu.com;如果有页面要设置维护页面,把这里写成相应的网站
#拦截所有以便于重写
location ~ \.* {
root assets; #这里指的html文件所存放的目录,编译安装的nginx,默认的是root目录为nginx,这是我自己实验的结果
access_log on;
expires 3d;
}
#rewrite ^(.*)$ /weihu.html break; #这里‘/‘代表的是assets文件夹,因为我们上面定义了root为assets
return 500; #这里代表的是没有通过下面server_name的域名返回500错误。
}
server {
listen 80;
server_name test.com; #这里写你自己的域名的就可以,如果是多个就写多个
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
#设置主机头和客户端真实地址,以便服务器获取客户端真实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_pass http://fuzai; #这里的fuzai就是我们上面取得名字
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
#拦截静态资源,我这里采用的是根据文件后缀去匹配,还有需要拦截的直接加进去就可以了,这样也是为了初学者好理解
location ~ \.(jpg|ttf|woff|jpeg|png|ico|rar|css|js|zip|txt|flv|swf|doc|ppt|xls|pdf)$ {
root assets; #当然拦截后的这些文件都会去nginx下面assets对应的目录去寻找。这里要注意路径的问题
access_log on;
expires 3d;
}
}
}
本文出自 “12628531” 博客,请务必保留此出处http://12638531.blog.51cto.com/12628531/1901774
原文地址:http://12638531.blog.51cto.com/12628531/1901774