1.检查linux上是否通过yum安装了nginx

  1. rpm -qi nginx

2.解决安装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

3.源代码编译安装Nginx(在/opt目录下)

  1. 1.下载淘宝Nginx源码包
  2. wget http://tengine.taobao.org/download/tengine-2.3.0.tar.gz
  3. 2.解压缩源代码
  4. tar -zxvf tengine-2.3.0.tar.gz
  5. 3.进入到tengine-2.3.0目录,进行编译安装
  6. cd tengine-2.3.0
  7. 4.释放编译文件,指定安装路径
  8. .configure --prefix=/opt/tengine
  9. 5.开始编译且安装
  10. make&&make install
  11. 6.卸载之前通过yum安装的Nginx
  12. yum remove nginx -y
  13. 7.查看nginx的安装目录
  14. ls /opt/tengine
  15. conf:存放nginx所有的配置文件的目录
  16. html:存放前端静态页面
  17. logs:存放nginx的日志目录
  18. sbin:存放nginx的可执行的命令
  19. 8.配置nginx的环境变量,支持快速启动(命令行直接nginx)
  20. 1.cd /opt/tengine/sbin
  21. 2.pwd
  22. 3.vim /etc/profile
  23. PATH中加入pwd的结果
  24. 9.启动nginx
  25. nginx
  26. 10.修改nginx的首页静态模板文件
  27. vim /opt/tengine/html/index.html
  28. 输入你想要显示的内容

4.修改nginx的配置文件的

1.vim /opt/tengine/conf/nginx.conf

  1. #查看nginx.conf的内容,过滤掉注释内容,和空白行
  2. [root@wangdachui conf]# grep -v "^#" nginx.conf|grep -v "^$"
  3. #全局变量,工作进程数
  4. worker_processes 1;
  5. events {
  6. epoll;#提高大并发下小活动量的CPU利用率
  7. worker_connections 65536; #根据linux的文件描述符来修改
  8. }
  9. #http代表nginx核心功能块
  10. http {
  11. include mime.types;
  12. default_type application/octet-stream;
  13. gzip on; #开启压缩图片功能
  14. #代表nginx的虚拟主机功能
  15. #当我们访问192.168.226.128:80/就进入这个虚拟主机的配置
  16. #第一个虚拟主机dnf网址
  17. server {
  18. #nginx监听的端口
  19. listen 80;
  20. #填写服务器的域名,没有域名就写ip地址即可
  21. server_name 192.168.226.128;
  22. #路径资源匹配 ,匹配 / 目录
  23. #192.168.226.128:80/
  24. #这是最低级匹配,所有的请求,都会进入这个location
  25. location / {
  26. #root参数指的是定义一个虚拟主机根目录
  27. root html; #填写静态模板文件的绝对路径
  28. #index参数指定首页文件的名字
  29. index index.html;
  30. }
  31. #第二个虚拟主机 韩剧网址
  32. server {
  33. listen 80;#监听80端口
  34. server_name 192.168.226.128;服务器的ip
  35. location / {
  36. root /opt/s18hanju/;
  37. index index.html;
  38. }
  39. }
  40. }

2.nginx功能学习

  1. 1.修改windows下的host文件,顶一个假域名
  2. c:windows/system32/drivers/etc/hosts
  3. 如果不能编辑,右击选择属性,改变它的权限信息.
  4. 2.在最下面写入
  5. linux的IP 域名
  6. 192.168.119.147 www.hahahn.com
  7. 这样就可以通过域名访问了
  8. 3.配置nginx多虚拟机,其实就是在nginx.conf中写入多个server,代表多个虚拟主机
  9. server {
  10. listen 80;
  11. server_name www.s18dnf.com;
  12. location / {
  13. root /opt/s18dnf/;
  14. index index.html index.htm;
  15. }
  16. }
  17. #第二个虚拟主机 韩剧网址
  18. server {
  19. listen 80;
  20. server_name www.s18hanju.com;
  21. location / {
  22. root /opt/s18hanju/;
  23. index index.html;
  24. }
  25. }
  26. 注意事项:1.两个server同在http核心模块中的同一级目录
  27. 2.server_name如果对应的是本机的IP地址,虚拟主机是自上而下加载的,也就是说不管输 入什么在windows的hosts文件配好的假域名,都只会匹配到第一个虚拟主机
  28. 3.如果server_name对应的是域名,则nginx会根据域名找到与之匹配的域名对应的虚拟主机
  29. 4.修改完nginx.conf文件要平滑重启
  30. nginx -s reload
  31. nginx -t 查看是否有语法错误
  32. 5.nginx的状态模块功能学习
  33. 1.修改nginx.conf的配置文件
  34. 找到一个server虚拟主机,写入如下配置
  35. location /status {
  36. stub_status on;
  37. }
  38. 2.重启nginx,在对应域名后加 /status 加载这个status状态模块功能
  39. 3.通过ab压测命令,去给网站发起n多个请求
  40. 安装ab压测命令工具
  41. yum -y install httpd-tools
  42. 4.给服务器nginx,发起一万个请求
  43. ab -kc 1000 -n 10000 http://192.168.226.128/
  44. 5.nginx的access.log访问日志功能
  45. 编辑nginx.conf打开如下配置参数
  46. 打开如下注释
  47. log_format main '$remote_addr - $remote_user [$time_local] "$request"'
  48. '$status $body_bytes_sent "$http_referer" '
  49. '"$http_user_agent" "$http_x_forwarded_for"';
  50. access_log logs/access.log main;
  51. access_log "pipe:rollback logs/access_log interval=1d baknum=7 maxsize=2G" main;
  52. 重启nginx查看logs下的日志文件,检测用户请求信息
  53. tail -f logs/access.log,然后用浏览器访问时,就会看到日志的变化.
  54. 6.优化nginx的404页面
  55. 修改nginx.conf的404错误页面优化
  56. 找到如下配置
  57. #当错误状态码是 40x系列就返回,nginx目录下的40x.html
  58. error_page 404 403 402 400 401 /40x.html;
  59. 重启nginx 查看404页面(输入正确的url,后面再随便加点东西)
  60. 7.限制IP访问
  61. 找到nginx.conf修改如下代码
  62. location / {
  63. #禁止192.168.226.0/24 这个地址段所有的ip访问
  64. deny 192.168.226.1;
  65. root /opt/s18dnf;
  66. index index.html index.htm;
  67. }
  68. 8.nginx反向代理功能
  69. 准备两台机器,一个是真实的资源服务器,另一个是反向代理服务器,分别安装nginx
  70. 一个能正常返回资源,另一个的nginx.conf,找到一个server虚拟主机,location /配置如下:
  71. location / {
  72. # proxy_pass http://代理的主机IP
  73. proxy_pass http://192.168.119.147
  74. }
  75. 重启nginx,然后访问代理服务器,就会访问到另一台资源服务器的资源

5.出现的问题

浏览器出现403(访问权限不足)

  1. 1.将资源写在了/root下面,普通用户访问不到
  2. 2.找到nginx.conf中deny屏蔽掉了此IP地址,删除禁止就好了.

06 Nginx的更多相关文章

  1. 06 nginx Location详解之精准匹配

    一:Location详解之精准匹配 location 语法 location 有”定位”的意思, 根据Uri来进行不同的定位. 在虚拟主机的配置中,是必不可少的,location可以把网站的不同部分, ...

  2. 06 . Nginx静态资源缓存

    Nginx静态资源 Nginx可以处理静态资源 非Web服务器可以运行处理而生成的文件,即服务器只需要从硬盘或者缓存中读取然后直接给客户端响应即可. 常见的静态资源 # 浏览器渲染: html文件,样 ...

  3. nginx cpu高排查

    首先查看nginx的error日志,无异常打印. cpu占用如下图所示: top - 10:05:40 up 233 days, 16:28, 4 users, load average: 25.53 ...

  4. 八.nginx网站服务实践应用

    期中集群架构-第八章-期中架构nginx章节====================================================================== 01. web ...

  5. nginx高并发下配置参数

    今天下午,测试组同事模拟800个用户同时发起请求,nginx开始报错, "Too Many Open Files"  我们使用的是Dell R430服务器,2个物理CPU,每个CP ...

  6. linux下如何启动nginx?

    命令: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ........... [root@localhost sbin ...

  7. Nginx之常用基本配置(三)

    前面我们聊了下了Nginx作为WEB服务器对客户端请求相关配置,文件操作优化.Nginx访问控制.basic验证,.状态模块状态页.gzip压缩配置:回顾请参考https://www.cnblogs. ...

  8. 神器 Nginx 的学习手册 ( 建议收藏 )

    关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ Nginx 是一个高性能的 HTTP 和反向代理服务器,特点是占用内存少,并发能力强,事实上 ...

  9. Linux 提高操作效率之 tab 命令补全

    最近在使用阿里云 ECS 时,发现 Centos 无法进行 tab 补全,特别影响操作效率,本文简单记录下 Linux 下的 tab 命令补全功能,希望对 Linux 初学者有所帮助. 安装 Linu ...

随机推荐

  1. LC 384. Shuffle an Array

    Shuffle a set of numbers without duplicates. Example: // Init an array with set 1, 2, and 3. int[] n ...

  2. 网络通信框架之volley

    介绍 我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据.Android系统中主要提供了两种方式来进行HTTP通信,Htt ...

  3. Django之缓存配置

    01-什么是缓存 缓存(cache),其作用是缓和较慢存储的高频次请求,简单来说,就是加速满存储的访问效率. 02-几种缓存配置 # 内存缓存:local-memory caching CACHES ...

  4. PS技巧集合

    一.把图片变模糊 图像——调整——色阶——输出色阶——滤镜——模糊——高斯模糊——半径 二.图片换色 点击右下角弹层下方的“fx”——颜色叠加——色样颜色

  5. c++ qsort函数应用

    C++ qsort在"iostream" c在头文件stdlib.h中,strcmp在string.h中.下列例子默认从小到大排序即(a>b返回>0),反之从小到大排序 ...

  6. Web jsp开发学习——连接数据库,数据的增加和删除

    1.首先在newlist界面增加三个图表,带上事件 newlist.jsp <%@ page language="java" contentType="text/h ...

  7. Intervals and Timeouts

    Intervals var num = 0; var max = 10; function incrementNumber(){ num++; // if the max has not been r ...

  8. Python 输出时去掉列表元组外面的方括号与圆括号

     

  9. windows客户端如果通过cmd窗口连接到远程linux服务器,可以使用telnet;

     linux系统打开telnet端口的方法 2016-03-11 16:02:25 标签:linux telnet 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明. ...

  10. VS快捷键操作

    1.窗口快捷键记忆诀窍: 凡跟窗口挂上钩的快捷键必有一个W(Windows):Ctrl+W,W: 浏览器窗口 (浏览橱窗用有道的翻译是window shopping) Ctrl+W,S: 解决方案管理 ...