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 ...
随机推荐
- LC 384. Shuffle an Array
Shuffle a set of numbers without duplicates. Example: // Init an array with set 1, 2, and 3. int[] n ...
- 网络通信框架之volley
介绍 我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据.Android系统中主要提供了两种方式来进行HTTP通信,Htt ...
- Django之缓存配置
01-什么是缓存 缓存(cache),其作用是缓和较慢存储的高频次请求,简单来说,就是加速满存储的访问效率. 02-几种缓存配置 # 内存缓存:local-memory caching CACHES ...
- PS技巧集合
一.把图片变模糊 图像——调整——色阶——输出色阶——滤镜——模糊——高斯模糊——半径 二.图片换色 点击右下角弹层下方的“fx”——颜色叠加——色样颜色
- c++ qsort函数应用
C++ qsort在"iostream" c在头文件stdlib.h中,strcmp在string.h中.下列例子默认从小到大排序即(a>b返回>0),反之从小到大排序 ...
- Web jsp开发学习——连接数据库,数据的增加和删除
1.首先在newlist界面增加三个图表,带上事件 newlist.jsp <%@ page language="java" contentType="text/h ...
- Intervals and Timeouts
Intervals var num = 0; var max = 10; function incrementNumber(){ num++; // if the max has not been r ...
- Python 输出时去掉列表元组外面的方括号与圆括号
- windows客户端如果通过cmd窗口连接到远程linux服务器,可以使用telnet;
linux系统打开telnet端口的方法 2016-03-11 16:02:25 标签:linux telnet 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明. ...
- VS快捷键操作
1.窗口快捷键记忆诀窍: 凡跟窗口挂上钩的快捷键必有一个W(Windows):Ctrl+W,W: 浏览器窗口 (浏览橱窗用有道的翻译是window shopping) Ctrl+W,S: 解决方案管理 ...