一、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. hdu 4333 扩展kmp+kmp重复字串去重

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4333 关于kmp next数组求最短重复字串问题请看:http://www.cnblogs.com/z ...

  2. 验证 vector = 是深拷贝还是浅拷贝

    #include <vector> using namespace std; int main() { int w=1920; int h = 1080; vector<int> ...

  3. POJ2729 Robocode(离散化与模拟-----提醒曾经爱玩游戏的自己没做出这个

    题目链接 :http://poj.org/problem?id=2729 题目很长,有不少也是废话.类似小时候玩的坦克大战.每个坦克速度为10,炮弹速度为20.子弹出界就消失,坦克出不了界限.相向的子 ...

  4. 7.生产者消费者 案例 (使用Lock 同步锁 方式,使用Condition完成线程之间的通信)

    /* * 生产者消费者 案例 (使用Lock 同步锁 方式,使用Condition完成线程之间的通信) * */ public class TestProductorAndConsumerForLoc ...

  5. flask自有转换器:int、float、path。默认string

    flask自有转换器:int.float.path.默认string # 路由传递的参数默认当做string处理,这里指定int,尖括号中冒号后面的内容是动态的 # -*- coding: utf-8 ...

  6. SRX550路由器缓存满了无法在web页面操作解决方法

    SRX550路由器缓存满了无法在web页面操作解决方法   首页出现下图为满的标志,我这个文档就是解决这中情况,让web页面可以操作的 1.  打开命令行,输入用户密码,进入路由器 注意:这里使用te ...

  7. 深入理解Kubernetes资源限制:内存

    写在前面 当我开始大范围使用Kubernetes的时候,我开始考虑一个我做实验时没有遇到的问题:当集群里的节点没有足够资源的时候,Pod会卡在Pending状态.你是没有办法给节点增加CPU或者内存的 ...

  8. 大数据之路week03--day05(线程 I)

    真的,身体这个东西一定要爱护好,难受的时候电脑都不想去碰,尤其是胃和肾... 这两天耽误了太多时间,今天好转了立刻学习,即刻不能耽误!. 话不多说,说正事: 1.多线程(理解) (1)多线程:一个应用 ...

  9. Selenium(三)webdriver的API与定位元素

    在学习定位元素之前,应该要学会: 1.打开浏览器 2.打开网页 3.定位元素及操作 ①定位元素 可只此输入框的id是kw,name是wd,class是s_ipt ②在python编辑器中找到该元素 通 ...

  10. My97DatePicker(js日期插件) v4.8

    1.下载地址 https://files.cnblogs.com/files/yu-shang/My97DatePicker.zip 2.文档地址 http://my97.net/demo/index ...