06 Nginx
1.检查linux上是否通过yum安装了nginx
rpm -qi nginx
2.解决安装nginx所依赖包
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
3.源代码编译安装Nginx(在/opt目录下)
1.下载淘宝Nginx源码包wget http://tengine.taobao.org/download/tengine-2.3.0.tar.gz2.解压缩源代码tar -zxvf tengine-2.3.0.tar.gz3.进入到tengine-2.3.0目录,进行编译安装cd tengine-2.3.04.释放编译文件,指定安装路径.configure --prefix=/opt/tengine5.开始编译且安装make&&make install6.卸载之前通过yum安装的Nginxyum remove nginx -y7.查看nginx的安装目录ls /opt/tengineconf:存放nginx所有的配置文件的目录html:存放前端静态页面logs:存放nginx的日志目录sbin:存放nginx的可执行的命令8.配置nginx的环境变量,支持快速启动(命令行直接nginx)1.cd /opt/tengine/sbin2.pwd3.vim /etc/profilePATH中加入pwd的结果9.启动nginxnginx10.修改nginx的首页静态模板文件vim /opt/tengine/html/index.html输入你想要显示的内容
4.修改nginx的配置文件的
1.vim /opt/tengine/conf/nginx.conf
#查看nginx.conf的内容,过滤掉注释内容,和空白行[root@wangdachui conf]# grep -v "^#" nginx.conf|grep -v "^$"#全局变量,工作进程数worker_processes 1;events {epoll;#提高大并发下小活动量的CPU利用率worker_connections 65536; #根据linux的文件描述符来修改}#http代表nginx核心功能块http {include mime.types;default_type application/octet-stream;gzip on; #开启压缩图片功能#代表nginx的虚拟主机功能#当我们访问192.168.226.128:80/就进入这个虚拟主机的配置#第一个虚拟主机dnf网址server {#nginx监听的端口listen 80;#填写服务器的域名,没有域名就写ip地址即可server_name 192.168.226.128;#路径资源匹配 ,匹配 / 目录#192.168.226.128:80/#这是最低级匹配,所有的请求,都会进入这个locationlocation / {#root参数指的是定义一个虚拟主机根目录root html; #填写静态模板文件的绝对路径#index参数指定首页文件的名字index index.html;}#第二个虚拟主机 韩剧网址server {listen 80;#监听80端口server_name 192.168.226.128;服务器的iplocation / {root /opt/s18hanju/;index index.html;}}}
2.nginx功能学习
1.修改windows下的host文件,顶一个假域名c:windows/system32/drivers/etc/hosts如果不能编辑,右击选择属性,改变它的权限信息.2.在最下面写入linux的IP 域名192.168.119.147 www.hahahn.com这样就可以通过域名访问了3.配置nginx多虚拟机,其实就是在nginx.conf中写入多个server,代表多个虚拟主机server {listen 80;server_name www.s18dnf.com;location / {root /opt/s18dnf/;index index.html index.htm;}}#第二个虚拟主机 韩剧网址server {listen 80;server_name www.s18hanju.com;location / {root /opt/s18hanju/;index index.html;}}注意事项:1.两个server同在http核心模块中的同一级目录2.server_name如果对应的是本机的IP地址,虚拟主机是自上而下加载的,也就是说不管输 入什么在windows的hosts文件配好的假域名,都只会匹配到第一个虚拟主机3.如果server_name对应的是域名,则nginx会根据域名找到与之匹配的域名对应的虚拟主机4.修改完nginx.conf文件要平滑重启nginx -s reloadnginx -t 查看是否有语法错误5.nginx的状态模块功能学习1.修改nginx.conf的配置文件找到一个server虚拟主机,写入如下配置location /status {stub_status on;}2.重启nginx,在对应域名后加 /status 加载这个status状态模块功能3.通过ab压测命令,去给网站发起n多个请求安装ab压测命令工具yum -y install httpd-tools4.给服务器nginx,发起一万个请求ab -kc 1000 -n 10000 http://192.168.226.128/5.nginx的access.log访问日志功能编辑nginx.conf打开如下配置参数打开如下注释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;access_log "pipe:rollback logs/access_log interval=1d baknum=7 maxsize=2G" main;重启nginx查看logs下的日志文件,检测用户请求信息tail -f logs/access.log,然后用浏览器访问时,就会看到日志的变化.6.优化nginx的404页面修改nginx.conf的404错误页面优化找到如下配置#当错误状态码是 40x系列就返回,nginx目录下的40x.htmlerror_page 404 403 402 400 401 /40x.html;重启nginx 查看404页面(输入正确的url,后面再随便加点东西)7.限制IP访问找到nginx.conf修改如下代码location / {#禁止192.168.226.0/24 这个地址段所有的ip访问deny 192.168.226.1;root /opt/s18dnf;index index.html index.htm;}8.nginx反向代理功能准备两台机器,一个是真实的资源服务器,另一个是反向代理服务器,分别安装nginx一个能正常返回资源,另一个的nginx.conf,找到一个server虚拟主机,location /配置如下:location / {# proxy_pass http://代理的主机IPproxy_pass http://192.168.119.147}重启nginx,然后访问代理服务器,就会访问到另一台资源服务器的资源
5.出现的问题
浏览器出现403(访问权限不足)
1.将资源写在了/root下面,普通用户访问不到2.找到nginx.conf中deny屏蔽掉了此IP地址,删除禁止就好了.
06 Nginx的更多相关文章
- 06 nginx Location详解之精准匹配
一:Location详解之精准匹配 location 语法 location 有”定位”的意思, 根据Uri来进行不同的定位. 在虚拟主机的配置中,是必不可少的,location可以把网站的不同部分, ...
- 06 . Nginx静态资源缓存
Nginx静态资源 Nginx可以处理静态资源 非Web服务器可以运行处理而生成的文件,即服务器只需要从硬盘或者缓存中读取然后直接给客户端响应即可. 常见的静态资源 # 浏览器渲染: html文件,样 ...
- nginx cpu高排查
首先查看nginx的error日志,无异常打印. cpu占用如下图所示: top - 10:05:40 up 233 days, 16:28, 4 users, load average: 25.53 ...
- 八.nginx网站服务实践应用
期中集群架构-第八章-期中架构nginx章节====================================================================== 01. web ...
- nginx高并发下配置参数
今天下午,测试组同事模拟800个用户同时发起请求,nginx开始报错, "Too Many Open Files" 我们使用的是Dell R430服务器,2个物理CPU,每个CP ...
- linux下如何启动nginx?
命令: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ........... [root@localhost sbin ...
- Nginx之常用基本配置(三)
前面我们聊了下了Nginx作为WEB服务器对客户端请求相关配置,文件操作优化.Nginx访问控制.basic验证,.状态模块状态页.gzip压缩配置:回顾请参考https://www.cnblogs. ...
- 神器 Nginx 的学习手册 ( 建议收藏 )
关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ Nginx 是一个高性能的 HTTP 和反向代理服务器,特点是占用内存少,并发能力强,事实上 ...
- Linux 提高操作效率之 tab 命令补全
最近在使用阿里云 ECS 时,发现 Centos 无法进行 tab 补全,特别影响操作效率,本文简单记录下 Linux 下的 tab 命令补全功能,希望对 Linux 初学者有所帮助. 安装 Linu ...
随机推荐
- R语言:读入txt文件中文文本出现乱码解决方案
下载安装 readr 因为使用内置函数 read.table() 读入应该是格式不符合要求会报错 library(readr) help(package="readr") 可以使用 ...
- linux搭建ftp配置文件
# Example config file /etc/vsftpd/vsftpd.conf## The default compiled in settings are fairly paranoid ...
- js设计模式-代理模式
1.什么是设计模式? 设计模式:在软件设计过程中常用的代码规范,针对特定的场景 2.应用场景: 麦当劳点餐 观察者模式 规定的代码格式 花店送花 :代理模式 真实对象(男同学)-----代理对 ...
- OpenCV学习笔记(15)——更多的轮廓函数
凸缺陷,以及如何找到凸缺陷 找某一点到一个多边形的最短距离 不同形状的匹配 1.凸缺陷 前面已经设计了轮廓的凸包和凸性缺陷的概念.OpenCV中有一个函数cv2.convexityDefect()可以 ...
- C++中的各种容器实现原理
C++ 容器及选用总结 vector 拥有一段连续的内存空间 list 就是数据结构中的双向链表 deque 的动态数组首尾都开放 set 有序的容器,红黑树的平衡二叉检索树的数据结构 multise ...
- Zabbix - LINUX下CPU,硬盘,流量,内存监控
转载自:https://blog.csdn.net/jxzhfei/article/details/47191431 1.LINUX下zabbix客户端安装 [root@mongodb114 ~]# ...
- 解决Mysql无法导入存在null数据的问题
其实很简单,在mysql的控制台输入 SET @@GLOBAL.sql_mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"; 然后重 ...
- 积累-T
emmm,各种知识点都有吧,主要方便自己记 随机修改网页图标 <script> var image=new Array(3); image.length=3; image[1]=" ...
- property自己实现
# 先回顾一下 class Room: def __init__(self,name,width,length): self.name = name self.width = width self.l ...
- 网站性能优化(website performance optimization)2
我们先研究下构建渲染树前的几个步骤:也就是DOM和CSSOM,通常这些步骤的效果最差使你的网页呈现速度非常慢,我们是讨论尽可能快的将HTML流式传输给客户端,使浏览器能够开始构建DOM,还有其他注意事 ...