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 ...
随机推荐
- phpStrom破解 + Your license has expired
找到 C:\Windows\System32\drivers\etc 的 hosts文件在最后加上"0.0.0.0 account.jetbrains.com" 然后点击获取注册码 ...
- firefox浏览器插件---网址优化
安装:YSlow插件 之后还必须安装firebug.否则YSlow不能使用. 安装:firebug 下面就可以了
- 八十一:memcached之telnet操作memcached
先打开telnet服务否则会报错 确认memcached服务已启动 telnet ip 端口 连上以后敲一下回车 常用的命令: 1.set:在memcached中添加一个key->value,如 ...
- ubuntu源与常用python配置pip源(win)、pip常用命令
pip常用命令 ubuntu更新系统源 首先备份/etc/apt/sources.list mv /etc/apt/sources.list /etc/apt/sources.list.bak 然后下 ...
- python爬虫小实例
1.python爬取贴吧壁纸 1.1.获取整个页面数据 #coding=utf-8 import urllib def getHtml(url): page = urllib.urlopen(url) ...
- SqlServer:SqlServer(sql,游标,定时作业,行转列,列转行,公用表达式递归,merge合并)
1.加载驱动: Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); DriverManager.getCo ...
- JavaScript基本入门03
目录 JavaScript 入门基础 03 JavaScript构造函数 常用事件和事件处理函数 小练习 数据类型之间的差异性 数组 介绍 创建 数组的常规使用 数组的length属性 数组当中常见的 ...
- python获取内存地址上存储的值
在python中,可以通过id()这个方法来获取对象的内存地址. 但是反过来,怎么获取内存地址上存储的值? 先看一段代码: from ctypes import string_at from sys ...
- web学习(2019-10)
@“fuzz一下”:所有注入爆破题/其他题,必fuzz 在安全测试中,模糊测试(fuzz testing)是一种介于完全的手工渗透测试与完全的自动化测试之间的安全性测试类型 模糊测试(fuzz tes ...
- CVE-2018-2628
哈哈哈,终于等到我复现一个CVE漏洞了. 漏洞描述 Oracle Fusion Middleware(Oracle融合中间件)是美国甲骨文(Oracle)公司的一套面向企业和云环境的业务创新平台.该平 ...