【Liunx】nginx配置

一、nginx安装

卸载yum安装的ngjnx


1

yum remove nginx -y

编译安装nginx步骤

编译安装nginx的步骤
1.解决软件依赖
yum install gcc patch libffi-devel python-devel  zlib-devel bzip2-devel
 openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel
 gdbm-devel db4-devel libpcap-devel xz-devel openssl openssl-devel -y

2.下载nginx的源代码包,这里用的淘宝的tengine
wget http://tengine.taobao.org/download/tengine-2.3.1.tar.gz

3.解压缩tnginx包
tar -zxvf tengine-2.3.1.tar.gz

4.进入源码目录,开始编译三部曲
./configure --prefix=/opt/tngx231/
make && make install 

5.可以使用了
发现缺少sqllite这个一个软件依赖包,就得直接删除编译好的软件,重新编译即可

6.进入安装好的tngx321目录,查看有哪些东西
conf  存放nginx的配置文件
html  存放前端文件的
logs  存放nginx的日志文件

进入sbin 启动nginx
./nginx

7.配置path变量,可以快捷使用nginx命令
vim /etc/profile
PATH=‘/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/tngx231/sbin‘

8.查看nginx的首页文件 index.html

二、nginx配置

nginx的功能性学习,所有的功能都是通过nginx.conf配置文件定义的

修改配置参数,就实现了不同的功能

1、使用nginx配置一个站点,进行访问,例如index.html

vim /html/index.html

2、nginx.conf中的配置

【虚拟主机站点功能】

server {
        # 监听端口
        listen       85;
        # 域名可以有多个用空格隔开
        server_name  localhost;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        #access_log  "pipe:rollback logs/host.access_log interval=1d baknum=7 maxsize=2G"  main;
        #网站的路径匹配,如同django的urls匹配,对用户的访问url进行路径分配
        #当请求url长这样时:
        # 192.168.16.142:85/  就走如下location配置
        location / {
            #deny  192.168.16.0/24;
            #root参数是定义网页根目录的,可以修改
            root   /opt/html;
            #index 定义网页首页名字的
            index  index.html index.htm;
        }
        #当用户请求url是 192.168.16.142:85/pic/monkeyKing.jpg
        location /pic  {
            #通过alias别名参数,去这个路径下找
            alias   /opt/pic/;
        }
        # 404页面
        error_page  404              /404.html;
        # redirect server error pages to the static page /50x.html
    }

【日志功能】

找到nginx.conf中的http{}代码块,然后,找到里面的如下配置

#日志格式设定
        #$remote_addr与$http_x_forwarded_for用以记录客户端的ip地址;
        #$remote_user:用来记录客户端用户名称;
        #$time_local: 用来记录访问时间与时区;
        #$request: 用来记录请求的url与http协议;
        #$status: 用来记录请求状态;成功是200,
        #$body_bytes_sent :记录发送给客户端文件主体内容大小;
        #$http_referer:用来记录从那个页面链接访问过来的;
        #$http_user_agent:记录客户浏览器的相关信息;
        #通常web服务器放在反向代理的后面,这样就不能获取到客户的IP地址了,通过$remote_add拿到的IP地址是反向代理服务器的iP地址。      反向代理服务器在转发请求的http头信息中,可以增加x_forwarded_for信息,用以记录原有客户端的IP地址和原来客户端的请求的服务器地址。
        log_format access ‘$remote_addr - $remote_user [$time_local] "$request" ‘
        ‘$status $body_bytes_sent "$http_referer" ‘
        ‘"$http_user_agent" $http_x_forwarded_for‘;

所有的日志信息和错误信息都在logs文件夹下:

access.log日志信息:

error.log错误日志:

nginx.pid当前nginx运行的进程id:

【禁止访问】

在nginx.conf中,找到如下参数,修改

location / {
     #拒绝访问,192.168.16.0网段的同学都无法访问  /24是子网掩码的意思
    deny  192.168.16.0/24;
    root   html;
    index  index.html index.htm;
}

【修改虚拟主机的家目录】

虚拟主机就是nginx.conf中 server{}标签定义的代码
网站的路径匹配,如同django的urls匹配,对用户的访问url进行路径分配

#当请求url长这样时:
# 192.168.16.142:85/  就走如下location配置
location / {
            #deny  192.168.16.0/24;
            #root参数是定义网页根目录的,可以修改
            root   /opt/html;
            #index 定义网页首页名字的
            index  index.html index.htm;
        }
#当用户请求url是 192.168.16.142:85/pic/monkeyKing.jpg
location /pic  {
        #通过alias别名参数,去这个路径下找
        alias   /opt/pic/;
}

location /media {
        alias  /opt/media;
}

【404页面】

-nginx的404页面,在nginx.conf中,找到一个error_page 参数
    #当请求错误码是404 时,就返回一个404.html给用户查看,并且这个文件在网页根目录下
    error_page  404              /404.html;

【虚拟主机功能】

一个nginx下运行多个网址

# 找到nginx安装目录下的conf文件夹,找到nginx.conf
# 通过编写多个server标签实现多虚拟主机
# nginx.conf配置如下:
    # 虚拟主机1:
    server {
        # 监听的端口
        listen       80;
        #这里进行域名匹配
        server_name  www.s20hanju.tv;
        #这里进行路径匹配
        location / {
            #root定义网页根目录
            root   /opt/s20/hanju;
            #index 定义网站首页文件名
            index  index.html;
        }
    }
    # 虚拟主机2:
    server {
        listen  81;
        server_name www.s20lol.tv;
        location / {
                root /opt/s20/lol;
                index index.html;
        }
    }

# 改完nginx.conf的配置,需要重启nginx -s reload

# 分别准备hanju和lol的数据文件夹

# 然后再去windows中准备hosts文件,进行域名解析
# 文件绝对路径
# C:\Windows\System32\drivers\etc\hosts
# 内容如下:
    192.168.16.142  www.s20hanju.tv
    192.168.16.142  www.s20lol.tv

# 最后在windows中进行访问,分别访问lol和hanju的网址内容

域名解析是先从本地的host文件中开始找,如果找不到会去dns找;
3、nginx的启停命令

直接输入 nginx  是启动
nginx -s stop  停止
nginx -s reload  平滑加载,不重启nginx,重新读取配置文件,生效  

4、liunx的压测命令

1.安装ab命令
yum -y install httpd-tools
2.使用ab压测命令
    -n requests #执行的请求数,即一共发起多少请求。

    -c concurrency #请求并发数。

    -k #启用HTTP KeepAlive功能,即在一个HTTP会话中执行多个请求。
   # 进行压测命令,统计网站请求数
    ab -kc 1000 -n 100000 http://192.168.16.142/

5、nginx状态模块

找到nginx.conf然后再找到一个虚拟主机server标签,添加如下配置即可

location /status {
        #开启nginx状态功能
             stub_status on;
}  

原文地址:https://www.cnblogs.com/youxiu123/p/11624318.html

时间: 2024-10-12 06:05:25

【Liunx】nginx配置的相关文章

Liunx下Tomcat+MYSQL+Nginx配置

环境:centos6.4 min #安装编译库及依赖模块 yum -y install gcc gcc-c++ autoconf automake make yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel #上传需要的软件 #安装JDK与Tomcat 查看当系统JDK版本 java –version #修改权限 chmod 777  jdk-6u41-linux-i586-rpm.bin ./jdk-6u

linux学习笔记——搭建基于nginx的web服务器、多核配置、nginx配置参数

############ 认识nginx #############Nginx:(发音同 engine x)是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler(俄文:Рамблер)使用.  其优点是轻量级(占有内存少),高并发(并发能力强),事实上nginx的并发能力确实在同类型的网页伺服器中表现较好.目前中国大陆使用ngi

12.17 Nginx负载均衡;12.18 ssl原理;12.19 生产ssl密钥对;12.20 Nginx配置ssl

扩展: 针对请求的uri来代理 http://ask.apelearn.com/question/1049 根据访问的目录来区分后端web http://ask.apelearn.com/question/920 12.17 Nginx负载均衡 1. 安装dig命令: [[email protected] ~]# yum install -y bind-utils 2. 用dig获取qq.com的ip地址: [[email protected] ~]# dig qq.com 3. 创建ld.co

Nginx配置详解

Nginx配置文件主要分成四部分: main(全局设置)指令将影响其它所有部分的设置: server(主机设置)指令主要用于指定虚拟主机域名.IP和端口: upstream(上游服务器设置,主要为反向代理.负载均衡相关配置)指令用于设置一系列的后端服务器,设置反向代理及后端服务器的负载均衡: location(URL匹配特定位置后的设置),每部分包含若干个指令.location部分用于匹配网页位置(比如,根目录"/","/images",等等). 他们之间的关系式:

LNMP架构应用实战——Nginx配置虚拟主机

LNMP架构应用实战--Nginx配置虚拟主机        前面介绍了nginx服务的安装与配置文件,今天介绍下它的另一种实用配置--"虚拟主机",每个虚拟主机可以是一个独立的网站,可以具有独立的域名,同一台服务器上的不同的虚拟主机之间是独立的,用户访问不同虚拟主机如同访问不同的服务器一样,因此它不需要为一个单独的WEB站点提供单独一个nginx服务器和一个单独的nginx进程 1.nginx虚拟主机简单介绍 同apache服务一样,它也有三种不同的虚拟主机,基于域名的虚拟主机.基于

Nginx 配置

Nginx 配置 不论是本地开发,还是远程到 Server 开发,还是给提供 demo 给人看效果,我们时常需要对 Nginx 做配置,Nginx 的配置项相当多,如果考虑性能配置起来会比较麻烦.不过,我们往往只是需要一个静态 Server,或者一个反向代理 Server,这对 Nginx 来说小菜一碟. 本文将给大家介绍 Nginx 配置的基本知识,不想细看的同学可以直接跳到最后一个例子. 简介 Nginx 的安装就不解释了,方便起见,建议在各平台可以直接执行对应安装命令: # CentOS

nginx 配置详解

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用.其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:京东.新浪.网易.腾讯.淘宝等. 一.event模型 传统的基于进程和线程的模型在处理并发连接的时候针对每个连接

Nginx配置多个基于域名的虚拟主机+实验环境搭建+测试

标签:Linux 域名 Nginx 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://xpleaf.blog.51cto.com/9315560/1901284 0.说明 使用Nginx可以配置基于域名的虚拟主机.基于端口的虚拟主机和基于端口的虚拟主机,比较常用的是基于域名的虚拟主机,这里要做的配置是基于域名的虚拟主机,并且是配置多个基于域名的虚拟主机. 关于Nginx配置文件的说明可以参考官方文档,同时也可以参考老男孩老师的书

你真的了解如何将 Nginx 配置为Web服务器吗

阅读之前,建议先阅读初识 Nginx. 之后,我们来了解一下 Nginx 配置. 抽象来说,将 Nginx 配置为 Web 服务器就是定义处理哪些 URLS 和如何处理这些URLS 对应的请求.具体来说,就是定义一些虚拟服务器(Virtual Servers),控制具有特定 IP 和域名的请求. 更具体的来说, Nginx 通过定义一系列 locations 来控制对 URIS 的选择.每一个 location 定义了对映射到自己的请求的处理场景:返回一个文件或者代理请求,或者根据不同的错误代码