猫猫1 发表于 2018-11-13 08:03:56

centos7 nginx前端 apache后端 及多站点简单配置

cd/usr/local/src  
wget http://nginx.org/download/nginx-1.7.6.tar.gz
  
tar –xvf nginx-1.7.6.tar.gz
  
先安装pcre开发包
  
yum install -y pcre-devel
  
如果需要ssl功能需要openssl库
  
#yum -y install openssl openssl—devel要是这样编译的时候还是找不到openssl库
  
就需要下载openssl源文件,解压后,将路径指定到解压的路径
  
wget http://www.openssl.org/source/openssl-1.0.1j.tar.gz
  
tar -xvf openssl-1.0.1j.tar.gz
  
cd nginx-1.7.6
  
/configure --prefix=/usr/local/nginx --with-http_ssl_module --with-openssl=/usr/local/src/openssl-1.0.1j --with-pcre --with-http_stub_status_module
  
make make install
  
vi /usr/local/nginx/conf/nginx.conf
  
1usernobody nobody;
  

  
2#启动进程
  

  
3worker_processes5;
  

  
4#全局错误日志及PID文件
  

  
5error_loglogs/error.log notice;
  

  
6pid      logs/nginx.pid;
  

  
7#工作模式及连接数上限
  

  
8events {
  

  
9#工作模式有:select(标准模式),poll(标准模式),kqueue(高效模式,适用FreeBSD 4.1+, OpenBSD 2.9+, NetBSD 2.0 and MacOS X),
  

  
10#epoll(高效模式,本例用的。适用Linux 2.6+,SuSE 8.2,),
  

  
    #/dev/poll(高效模式,适用Solaris 7 11/99+, HP/UX 11.22+ (eventport), IRIX 6.5.15+ 和 Tru64 UNIX 5.1A+)
  

  
11use epoll;
  

  
12worker_connections      1024;
  

  
13}
  

  
14#设定http服务器,利用它的反向代理功能提供负载均衡支持
  

  
15http {
  

  
16#设定mime类型
  

  
17include      conf/mime.types;
  

  
18default_typeapplication/octet-stream;
  

  
19#设定日志格式
  

  
20log_format main      '$remote_addr - $remote_user [$time_local] '
  

  
21                     '"$request" $status $bytes_sent '
  

  
22                     '"$http_referer" "$http_user_agent" '
  

  
23                     '"$gzip_ratio"';
  

  
24
  

  
25log_format download    '$remote_addr - $remote_user [$time_local] '                     '"$request" $status $bytes_sent '                     '"$http_referer" "$http_user_agent" '                     '"$http_range" "$sent_http_content_range"';
  

  
26#设定请求缓冲
  

  
27client_header_buffer_size    10k;
  

  
28large_client_header_buffers4 4k;
  

  
29
  

  
30#开启gzip模块,要求安装gzip 在运行./config时要指定
  

  
31gzip on;
  

  
32gzip_min_length1100;
  

  
33gzip_buffers    4 8k;
  

  
34gzip_types      text/plain;
  

  
35output_buffers1 32k;
  

  
36postpone_output1460;
  

  
37#设定访问日志
  

  
38access_loglogs/access.logmain;
  

  
39client_header_timeout3m;
  

  
40client_body_timeout    3m;
  

  
41send_timeout          3m;
  

  
42sendfile                on;
  

  
43tcp_nopush            on;
  

  
44tcp_nodelay            on;
  

  
45keepalive_timeout65;
  

  
46
  

  
47#设定负载均衡的服务器列表
  

  
48upstream backserver {
  

  
49#weigth参数表示权值,权值越高被分配到的几率越大
  

  
50#本例是指在同一台服务器,多台服务器改变ip即可
  

  
51server 127.0.0.1:8081 weight=5;
  

  
52server 127.0.0.1:8082;
  

  
53server 127.0.0.1:8083;
  

  
54}
  

  
   #Deny access to any host other than (www).4535.com
  

  
   server {
  

  
       server_name_;#default
  

  
       return 404;
  

  
   }
  

  

  

  
55#设定虚拟主机,默认为监听80端口,改成其他端口会出现问题
  

  
56server {
  

  
57listen         80;
  

  
58server_name    test.com www.test.com;
  

  
59charset utf8;
  

  
60#设定本虚拟主机的访问日志
  

  
61access_loglogs/test.com.logmain;
  

  
62#如果访问 /images/*, /js/*, /css/* 资源,则直接取本地文件,不用转发。但如果文件较多效果不是太好。
  

  
63location ~ ^/(images|js|css)/{
  

  
64root    /usr/local/testweb;
  

  
65expires 30m;
  

  
66}
  

  
67#对 "/" 启用负载均衡
  

  
68location / {
  

  
69proxy_pass      http://backserver;
  

  
70proxy_redirect          off;
  

  
71proxy_set_header      Host $host;
  

  
72proxy_set_header      X-Real-IP $remote_addr;
  

  
73proxy_set_header      X-Forwarded-For $proxy_add_x_forwarded_for;
  

  
74client_max_body_size    10m;
  

  
75client_body_buffer_size 128k;
  

  
76proxy_connect_timeout90;
  

  
77proxy_send_timeout      90;
  

  
78proxy_read_timeout      90;
  

  
79proxy_buffer_size      4k;
  

  
80proxy_buffers          4 32k;
  

  
81proxy_busy_buffers_size 64k;
  

  
82proxy_temp_file_write_size 64k;}
  

  
83#设定查看Nginx状态的地址,在运行./config 要指定,默认是不安装的。
  

  
84location /NginxStatus {
  

  
85stub_status            on;
  

  
86access_log             on;
  

  
87auth_basic             "NginxStatus";
  

  
88#是否要通过用户名和密码访问,测试时可以不加上。conf/htpasswd 文件的内容用 apache 提供的 htpasswd 工具来产生即可#auth_basic_user_fileconf/htpasswd;
  

  
89}
  

  
90}
  

  
91


页: [1]
查看完整版本: centos7 nginx前端 apache后端 及多站点简单配置