功能:
1.路由功能;
2.负载均衡功能;
3.静态web功能
工作模式:
正向代理:代理客户端,比如访问谷歌,要找代理ip翻墙,这就是正向代理;
反向代理:代理服务端,比较常见。
基础概念:
分为master进程和worker进程,
master进程:管理worker进程;向各worker进程发送信号;监控worker进程运行状态。
worker进程:真正提供服务的进程
安装(源码安装):
#wget http://nginx.org/download/nginx-1.9.0.tar.gz -c
# cd /usr/local/src
#tar xf nginx-1.9.0.tar.gz
#cd nginx-1.9.0
# yum install pcre pcre-devel zlib zlib-devel openssl openssl-devel -y -------可能有依赖
#./configure --prefix=/usr/local/nginx --with-http_ssl_module ---------编译
#make && make install ---------编译安装
安装完后出现:
[root@localhost nginx]# pwd
/usr/local/nginx
[root@localhost nginx]# ll
总用量 0
drwxr-xr-x 2 root root 333 4月 25 00:55 conf ---------该目录就是nginx的配置文件
drwxr-xr-x 2 root root 40 4月 25 00:55 html --------静态网页文件
drwxr-xr-x 2 root root 6 4月 25 00:55 logs ---------日志文件
drwxr-xr-x 2 root root 19 4月 25 00:55 sbin --------nginx的二进制日志
启动nginx服务:
#sbin/nginx
#curl 127.0.0.1
停止nginx服务
#sbin/nginx -s stop
检测配置文件是否有语法错误
#sbin/nginx -t
重启
#sbin/nginx -s reload
[root@localhost nginx]# curl 127.0.0.1
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
.....
nginx配置文件(nginx.conf)
#user www; # www是worker进程用户权限
worker_processes 1; #worker进程数,一般服务器有几个cpu就有几个进程
#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;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" ' #定义访问日志格式
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main; #日志目录位置;main就是log_format后面的main
sendfile on; #启用高效文件传输
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server { #虚拟主机设置
listen 80; #虚拟主机监听的端口
server_name localhost; #监听的虚拟主机域名
#charset koi8-r;
#access_log logs/host.access.log main;
location / { #匹配特定URL
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}