您的位置:首页 > 运维架构 > Nginx

nginx 安装及使用

2019-09-25 15:25 1581 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/wendy_qgh/article/details/101351508
  1. 安装
    如果是windows系统直接解压可用,如果是linux则需要安装,及具备安装环境。
    linux系统安装:
    1). 若没有安装gcc,则需要安装gcc环境,运行命令:yum install gcc-c++;
    2).安装第三方开发包。
  • PCRE :nginx 用来解析正则表达式等。yum install -y pcre-devel
  • zlib http包压缩和解压方式。yum install -y zlib zlib-devel
  • openssl 安.全套接字层密码库。yum install -y openssl

openssl-devel
安装nignx:
1.把nginx压缩包上传到linux系统上。
2.解压缩:tar zxf nginx-1.8.0.tar.gz
3.进入nginx目录,用configure命令生成Makefile文件,
./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
注意:启动nginx之前,上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录
4.输入make执行编译。
5.执行make install 安装。
6.创建目录 :mkdir /var/temp/nginx/client -p
7.启动 ./nginx
8.查看进程 ps aux | grep nignx
9.停止 ./nginx -s stop.

2.使用
1.配置文件:nginx.conf由多个块组成,最外面的块是main,main包含Events和HTTP,HTTP包含upstream和多个Server,Server又包含多个location:main(全局设置)、server(主机设置)、upstream(负载均衡服务器设置)和 location(URL匹配特定位置的设置)

#user  nobody; // 指定Nginx Worker进程运行用户以及用户组
worker_processes  1; // 指定了Nginx要开启的进程数,一般和cpu数量一至

//日志存放路径
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

//pid日志存放路径
#pid        logs/nginx.pid;

events {
use epoll; //指定nginx的工作模式
worker_connections  1024; //最大连接数,由worker_processes和worker_connections决定,即Max_client=worker_processes*worker_connections。
}

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;

//upstream是Nginx的HTTP Upstream模块,这个模块通过一个简单的调度算法来实现客户端IP到后端服务器的负载均衡。值有默认轮询,weight;
upstream cszhi.com{
ip_hash;
server 192.168.8.13:8009 max_fails=3 fail_timeout=20s;
server 192.168.8.146:8080;
}
sendfile        on;  //用于是否开启高效模式
#tcp_nopush     on;

#keepalive_timeout  0;
keepalive_timeout  65;

#gzip  on;

server {  //配置虚拟主机
listen       80; //监听端口
server_name  localhost;  //ip地址和域名

#charset koi8-r;

#access_log  logs/host.access.log  main;

// URL地址匹配是进行Nginx配置中最灵活的部分。 location支持正则表达式匹配,也支持条件判断匹配,用户可以通过location指令实现Nginx对动、静态网页进行过滤处理。使用location URL匹配配置还可以实现反向代理,用于实现PHP动态解析或者负载负载均衡。
location / {
root   html;
index  index.html index.htm;
}

#error_page  404              /404.html;

# redirect server error pages to the static page /50x.html
#
error_page   500 502 503 504  /50x.html;
location = /50x.html {
root   html;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
#    proxy_pass   http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
#    root           html;
#    fastcgi_pass   127.0.0.1:9000;
#    fastcgi_index  index.php;
#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
#    include        fastcgi_params;
#}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
#    deny  all;
#}
}

}

配置案例:
1.这样配置可达到,前端输入:localhost:9090,轮询访问 tomcat1、tomcat2,实现负载均衡

#Tomcat 集群
upstream  myapp {   #Tomcat 集群名称
server    localhost:8080;   #tomcat1配置
server    localhost:8181 weight=2;   #tomcat2配置 ,weight 调整强度
}

server {
listen       9090;
server_name  localhost;

#charset koi8-r;

#access_log  logs/host.access.log  main;

location / {
#root   html;
#index  index.html index.htm;
proxy_pass http://myapp;
proxy_redirect default;
}
}

注:

配置案例:2.支持输入不同域名访问不同应用,实现反向代理

upstream  tomcat1{   #Tomcat 集群名称
server    localhost:8080;   #tomcat1配置
}

server {
listen       9090;
server_name  www.sina.com;

#charset koi8-r;

#access_log  logs/host.access.log  main;

location / {
#root   html;
#index  index.html index.htm;
proxy_pass http://tomcat1;
proxy_re
7ff7
direct default;
}
}

upstream  tomcat2{   #Tomcat 集群名称
server    localhost:8181;   #tomcat2配置
}

server {
listen       9090;
server_name  www.sohu.com;
#charset koi8-r;

#access_log  logs/host.access.log  main;

location / {
#root   html;
#index  index.html index.htm;
proxy_pass http://tomcat2;
proxy_redirect default;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: