nginx服务器

1.nginx软件安装

useradd nginx

tar -zxvf nginx-1.7.10.tar.gz

cd nginx-1.7.10

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module

make && make install

2.nginx的配置文件及目录

/usr/local/nginx/安装目录

conf/nginx.conf主配置文件

html网页目录

logs日志文件

sbin/nginx启动脚本

3.nginx进程管理

启动nginx服务,sbin/nginx -c conf/nginx.conf

常用选项

-v:查看nginx版本

-V:查看编译参数

-t:测试默认配置文件

-c:指定配置文件

停止nginx:pkill -9 nginx

4.平滑升级nginx

tar axf nginx-1.8.0.tar.gz

cd nginx-1.8.0

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module

make

cd /usr/local/nginx/sbin

mv nginx nginxold

cd nginx-1.8.0/objs/

cp nginx /usr/local/nginx/sbin/

make upgrade

nginx -v

5.nginx配置解析

配置文件结构

全局配置

http{

……

server{

……

location /{

……

}

}

}

全局选项

user nginx;

worker_processes 1;

error_log /var/log/nginx/error.log/

pid /var/run/nginx.pid

events{

worker_connections 1024;

}

配置容器

http{

server{

listen 80;

server_name localhost;

location / {

root html;

index index.html index.htm;

}

}

}

用户认证及访问控制

location / {

root html;

index index.html;

allow 192.168.8.1;

deny all;

auth_basic "auth-domain";

auth_basic_user_file /usr/local/nginx/conf/authuser.txt;

}

htpasswd -c /usr/local/nginx/conf/authuser.txt admin

6.nginx虚拟主机

三种模式的虚拟主机

基于域名的虚拟主机

server{

listen 80;

server_name web1.com;

……

}

server{

listen 80;

server_name web2.com;

}

server{

listen 80 default;

location /{

root /default;

index index.html;

}

}

基于端口的虚拟主机

server {

listen 8080;

server_name web1.com;

}

server{

listen 8000;

server_name web2.com;

}

基于IP的虚拟主机

server{

listen 192.168.0.1:80;

server_name web1.com;

}

server{

listen 192.168.0.2:80;

server_name web2.com;

}

SSL虚拟主机

生成密钥:openssl genrsa -out cert.key 2048

生成证书:openssl req -new -x509 -key cert.key -out cert.pem

cp /usr/local/nginx/conf/

配置加密虚拟主机

server{

listen 443 ssl;

ssl_certificate cert.pem;

ssl_certificate_key cert.key;

ssl_session_timeout 5m;

ssl_protocols SSLv2 SSLv3 TLSv1;

……

location /{

root html;

index index.html index.htm;

}

}

7.nginx反向代理

nginx反向代理语法格式:

http{

upstream servergroup{

server 192.168.1.2;

server 192.168.1.3;

}

server {

listen 80;

location /{

……

proxy_pass http://servergroup;

}

}

}

高级设置负载均衡分配方式

nginx目前支持四种分配方式:

轮询:默认的,逐一循环调度

weight:权重,指定轮询几率,权重值和访问比率成正比

ip_hash:根据客户端IP分配固定的后端服务器

Fair:按后端服务器响应时间短的优先分配

服务组主机状态:

down:表示server暂时不参与负载

max_fails:允许请求失败的次数,默认为1

fail_timeout:max_fails次失败后,暂停提供服务的时间

backup:备份服务器

示例

upstream servergroup{

#ip_hash;

server 192.168.2.1:80 weight=2;

server 192.168.2.2:80 down;

server 192.168.2.3:80;

server 192.168.2.4:80 backup;

server 192.168.2.5:80 max_fails=2 fail_timeout 30;

}

点击访问小程序

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180904G0DBX400?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券