一、nginx安装

卸载yum安装的ngjnx

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;
}

Liunx之nginx配置的更多相关文章

  1. Liunx下Tomcat+MYSQL+Nginx配置

    环境:centos6.4 min #安装编译库及依赖模块 yum -y install gcc gcc-c++ autoconf automake make yum -y install zlib z ...

  2. Nginx 笔记(三)nginx 配置实例 - 反向代理、负载均衡、动静分离

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.反向代理 反向代理准备工作: (1)在 liunx 系统安装 tomcat,使用默认端口 8080 ...

  3. nginx配置反向代理或跳转出现400问题处理记录

    午休完上班后,同事说测试站点访问接口出现400 Bad Request  Request Header Or Cookie Too Large提示,心想还好是测试服务器出现问题,影响不大,不过也赶紧上 ...

  4. Windos环境用Nginx配置反向代理和负载均衡

    Windos环境用Nginx配置反向代理和负载均衡 引言:在前后端分离架构下,难免会遇到跨域问题.目前的解决方案大致有JSONP,反向代理,CORS这三种方式.JSONP兼容性良好,最大的缺点是只支持 ...

  5. Windows下Nginx配置SSL实现Https访问(包含证书生成)

    Vincent.李   Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https ...

  6. Nginx 配置简述

    不论是本地开发,还是远程到 Server 开发,还是给提供 demo 给人看效果,我们时常需要对 Nginx 做配置,Nginx 的配置项相当多,如果考虑性能配置起来会比较麻烦.不过,我们往往只是需要 ...

  7. Nginx配置详解

    序言 Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的.从2004年发布至今,凭借开源的力量,已经接近成熟与完善. Nginx功能丰富,可作为HTTP服务器,也 ...

  8. Nginx配置Https

    1.申请证书: https://console.qcloud.com/ssl?utm_source=yingyongbao&utm_medium=ssl&utm_campaign=qc ...

  9. nginx配置为windows服务中的坑

    网上搜索“nginx 配置为windows服务”,很容易搜索到使用windows server warpper来配置,于是按照网上的方法我从github上的链接下载了1.17版本,前面都很顺利,很容易 ...

随机推荐

  1. (八)二进制文件在webservice中的处理(以byte[]字节数组方式)

    一.介绍 二进制文件在webservice中的处理. A:通过byte[]字节数组的方式来传递.比较适合小文件,字节数组不能太大的情况.(本章所用) B:通过DataHander的方式来进行传递. 1 ...

  2. 记录我第一篇用Markdown写的Blog

    Markdown的介绍 喝水不忘挖井人-Markdown的创造者 Markdown 最初是由 John Gruber 和 Aaron Swartz 于 2004 年共同设计的(在这里插一句,Aaron ...

  3. vue购物车动画效果

    使用动画的三个函数 v-on:before-enter="beforeEnter" v-on:enter="enter" v-on:after-enter=&q ...

  4. stm32 待机模式

    低功耗模式 降低系统时钟速度 不使用APBx和AHB外设时,将对应的外设时钟关闭 睡眠模式(Cortex™-M3内核停止,所有外设包括Cortex-M3核心的外设,如NVIC.系统时钟(SysTick ...

  5. LeetCode 【2】 Reverse Integer --007

    六月箴言 万物之中,希望最美:最美之物,永不凋零.—— 斯蒂芬·金 第二周算法记录 007 -- Reverse Integer (整数反转) 题干英文版: Given a 32-bit signed ...

  6. window.open打开一个新空白页面,不会自动刷新【解决方案】

    调用js方法: function BuildPostForm(fm, url, target) { var e = null, el = []; if (!fm || !url) return e; ...

  7. weblogic快速安装版的安装和使用

    weblogic 12c提供了一个225MB大小的zip包, 我们下载下来之后解压后, 到jdk的bin目录下面, 执行java -jar ORACLE_HOME=[webloigc安装jar包绝对路 ...

  8. 【大数据】SmallFile-Analysis-Script

    1.root账号先在namenode节点上配置一个定时任务,将fsimage定时传到其他客户机上进行操作 whereis hadoop命令确定安装目录,然后去配置文件找到namenode节点(data ...

  9. jquery操作select下拉框:取值,赋值,删除

    1.jQuery对select的取值 <select id="test"> <option value ="1">测试1</opt ...

  10. MySQL操作规范总结

    来源:静以致远√团团 用户权限管理创建用户命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password';说明:Username所创建的用户名hos ...