Liunx之nginx配置
一、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配置的更多相关文章
- Liunx下Tomcat+MYSQL+Nginx配置
环境:centos6.4 min #安装编译库及依赖模块 yum -y install gcc gcc-c++ autoconf automake make yum -y install zlib z ...
- Nginx 笔记(三)nginx 配置实例 - 反向代理、负载均衡、动静分离
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一.反向代理 反向代理准备工作: (1)在 liunx 系统安装 tomcat,使用默认端口 8080 ...
- nginx配置反向代理或跳转出现400问题处理记录
午休完上班后,同事说测试站点访问接口出现400 Bad Request Request Header Or Cookie Too Large提示,心想还好是测试服务器出现问题,影响不大,不过也赶紧上 ...
- Windos环境用Nginx配置反向代理和负载均衡
Windos环境用Nginx配置反向代理和负载均衡 引言:在前后端分离架构下,难免会遇到跨域问题.目前的解决方案大致有JSONP,反向代理,CORS这三种方式.JSONP兼容性良好,最大的缺点是只支持 ...
- Windows下Nginx配置SSL实现Https访问(包含证书生成)
Vincent.李 Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https ...
- Nginx 配置简述
不论是本地开发,还是远程到 Server 开发,还是给提供 demo 给人看效果,我们时常需要对 Nginx 做配置,Nginx 的配置项相当多,如果考虑性能配置起来会比较麻烦.不过,我们往往只是需要 ...
- Nginx配置详解
序言 Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的.从2004年发布至今,凭借开源的力量,已经接近成熟与完善. Nginx功能丰富,可作为HTTP服务器,也 ...
- Nginx配置Https
1.申请证书: https://console.qcloud.com/ssl?utm_source=yingyongbao&utm_medium=ssl&utm_campaign=qc ...
- nginx配置为windows服务中的坑
网上搜索“nginx 配置为windows服务”,很容易搜索到使用windows server warpper来配置,于是按照网上的方法我从github上的链接下载了1.17版本,前面都很顺利,很容易 ...
随机推荐
- hdu 4333 扩展kmp+kmp重复字串去重
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4333 关于kmp next数组求最短重复字串问题请看:http://www.cnblogs.com/z ...
- 验证 vector = 是深拷贝还是浅拷贝
#include <vector> using namespace std; int main() { int w=1920; int h = 1080; vector<int> ...
- POJ2729 Robocode(离散化与模拟-----提醒曾经爱玩游戏的自己没做出这个
题目链接 :http://poj.org/problem?id=2729 题目很长,有不少也是废话.类似小时候玩的坦克大战.每个坦克速度为10,炮弹速度为20.子弹出界就消失,坦克出不了界限.相向的子 ...
- 7.生产者消费者 案例 (使用Lock 同步锁 方式,使用Condition完成线程之间的通信)
/* * 生产者消费者 案例 (使用Lock 同步锁 方式,使用Condition完成线程之间的通信) * */ public class TestProductorAndConsumerForLoc ...
- flask自有转换器:int、float、path。默认string
flask自有转换器:int.float.path.默认string # 路由传递的参数默认当做string处理,这里指定int,尖括号中冒号后面的内容是动态的 # -*- coding: utf-8 ...
- SRX550路由器缓存满了无法在web页面操作解决方法
SRX550路由器缓存满了无法在web页面操作解决方法 首页出现下图为满的标志,我这个文档就是解决这中情况,让web页面可以操作的 1. 打开命令行,输入用户密码,进入路由器 注意:这里使用te ...
- 深入理解Kubernetes资源限制:内存
写在前面 当我开始大范围使用Kubernetes的时候,我开始考虑一个我做实验时没有遇到的问题:当集群里的节点没有足够资源的时候,Pod会卡在Pending状态.你是没有办法给节点增加CPU或者内存的 ...
- 大数据之路week03--day05(线程 I)
真的,身体这个东西一定要爱护好,难受的时候电脑都不想去碰,尤其是胃和肾... 这两天耽误了太多时间,今天好转了立刻学习,即刻不能耽误!. 话不多说,说正事: 1.多线程(理解) (1)多线程:一个应用 ...
- Selenium(三)webdriver的API与定位元素
在学习定位元素之前,应该要学会: 1.打开浏览器 2.打开网页 3.定位元素及操作 ①定位元素 可只此输入框的id是kw,name是wd,class是s_ipt ②在python编辑器中找到该元素 通 ...
- My97DatePicker(js日期插件) v4.8
1.下载地址 https://files.cnblogs.com/files/yu-shang/My97DatePicker.zip 2.文档地址 http://my97.net/demo/index ...