06 Nginx

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. linuxIP 域名
  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地址,虚拟主机是自上而下加载的,也就是说不管输 入什么在windowshosts文件配好的假域名,都只会匹配到第一个虚拟主机
  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.nginxaccess.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.优化nginx404页面
  55. 修改nginx.conf404错误页面优化
  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.confdeny屏蔽掉了此IP地址,删除禁止就好了.

转载于:https://www.cnblogs.com/a2534786642/p/10999226.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/393327.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java编写安卓程序代码,安卓:从Android的Java源代码code创建UML

i am looking for a program that can create automatically an Uml from my Java-Android source code.I have tested ArgoUml, but it does not support Android.Have any one a suggestion?Thanks!解决方案I can second what Tom Morris wrote in the comment above. Even …

leetcode1052. 爱生气的书店老板(滑动窗口)

今天,书店老板有一家店打算试营业 customers.length 分钟。每分钟都有一些顾客(customers[i])会进入书店,所有这些顾客都会在那一分钟结束后离开。 在某些时候,书店老板会生气。 如果书店老板在第 i 分钟生气&#xf…

amazon alexa_在Amazon Alexa上推出freeCodeCamp编码琐事测验

amazon alexaNow you can learn coding concepts hands-free using an Amazon Echo.现在,您可以使用Amazon Echo免提学习编码概念。 freeCodeCamp.org contributor David Jolliffe created a quiz game with questions on JavaScript, CSS, networking, and comput…

第一类第二类丢失更新

第一类丢失更新 A事务撤销时,把已经提交的B事务的更新数据覆盖了。这种错误可能造成很严重的问题,通过下面的账户取款转账就可以看出来: 时间 取款事务A 转账事务B T1 开始事务 T2 开始事务 T3 查询账户余额为1000元 …

oracle数据字典表与视图

oracle数据字典表与视图 数据字典是数据的数据,也就是元数据。描述了数据库的物理与逻辑存储与相应的信息。模式中对象的定义信息,安全信息,完整性约束信息,和部分的性能监控信息等。数据字典表 与视图存储在system表空间中的。有…

团队作业——项目Alpha版本发布

---恢复内容开始--- https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/3329 <作业要求的链接> Gorious Computer <写上团队名称> 发布项目α版本&#xff0c;对项目…

java脏字过滤_脏字过滤

1.[文件]SensitiveWordFilter.java ~ 7KB下载(141)package com.forgov.sharpc.infrastruture.util;import static java.util.Collections.sort;import java.util.ArrayList;import java.util.Collection;import java.util.Comparator;import java.util.HashSet;import java.uti…

react中使用构建缓存_完整的React课程:如何使用React构建聊天室应用

react中使用构建缓存In this video course, youll learn React by building a chat room app.在本视频课程中&#xff0c;您将通过构建聊天室应用程序来学习React。 By the end of the video, youll have a solid understanding of React.js and have your very own chat room…

leetcode1509. 三次操作后最大值与最小值的最小差

给你一个数组 nums &#xff0c;每次操作你可以选择 nums 中的任意一个元素并将它改成任意值。 请你返回三次操作后&#xff0c; nums 中最大值与最小值的差的最小值。 示例 1&#xff1a; 输入&#xff1a;nums [5,3,2,4] 输出&#xff1a;0 解释&#xff1a;将数组 [5,3,…

MySQL异步复制

准备&#xff1a;主备库版本一致&#xff0c;正常安装软件。 1、主库上设置一个复制使用的账户&#xff1a; mysql> grant replication slave on *.* to rep1192.168.100.136 identified by dbking; Query OK, 0 rows affected (0.18 sec) mysql> select user,host,passw…

开源一个爬取redmine数据的测试报告系统

背景 软件测试的最后有一道比较繁琐的工作&#xff0c;就是编写测试报告。手写测试报告在数据统计和分析上面要耗费比较大的事件和精力。之前工作室使用mantis管理bug缺陷。公司有内部有个系统&#xff0c;可以直接从mantis上面获取数据并进行统计&#xff0c;生成一份测试报告…

java cxf 双向通讯_CXF 在spring boot 2 发布多个服务

0. 问题来源之前配置cxf服务端都是在spring 3以下&#xff0c;后来使用spring mvc 还都是基于xml的配置文件模式&#xff0c;在springboot模式下&#xff0c;实现起来更为简单了。此次记录下spring boot 2下的实现方式。1. 准备工作项目中&#xff0c;直接拉入spring boot cxf相…

小程序 坚屏_如何构建坚如磐石的应用程序

小程序 坚屏不同的应用程序设计选项概述 (An overview of different app design options) When we design software, we constantly think about error cases. Errors have a huge impact on the way we design and architecture a solution. So much so, in fact, that there …

C# 分层

三层架构分为&#xff1a;表现层&#xff08;UI&#xff09;、业务逻辑层&#xff08;BLL&#xff09;、数据访问层&#xff08;DAL&#xff09;再加上实体类库&#xff08;Model&#xff09; 转载请注明出自朱朱家园http://blog.csdn.net/zhgl7688 1、实体类库&#xff08;Mod…

leetcode1177. 构建回文串检测(前缀和)

给你一个字符串 s&#xff0c;请你对 s 的子串进行检测。 每次检测&#xff0c;待检子串都可以表示为 queries[i] [left, right, k]。我们可以 重新排列 子串 s[left], …, s[right]&#xff0c;并从中选择 最多 k 项替换成任何小写英文字母。 如果在上述检测过程中&#xf…

java界面化二叉排序树_层次序创建二叉树(图形界面和控制台输入实现)

1 2018.11.72 XT34 /**5 * 功能&#xff1a;构造二叉树6 * 说明&#xff1a;7 * 1.主函数输入模式有两种&#xff0c;BT参数 true 图形界面&#xff0c;false 控制台输入8 * 2.构造树是按层次遍历结果输入的 如&#xff1a;ABCDE*F**GH9 */1011 import javax.swing.*;12 import…

web开发环境_Web开发人员的开发环境

web开发环境With all the tools and programs available, it can be challenging to figure out the best way to set up your development environment on your computer.使用所有可用的工具和程序&#xff0c;寻找在计算机上设置开发环境的最佳方法可能是一项挑战。 In this…

使用.net Stopwatch class 来分析你的代码

当我们在调试&#xff0c;优化我们的代码的时候&#xff0c;想知道某段代码的真正的执行时间&#xff0c;或者我们怀疑某段代码&#xff0c;或是某几段代码执行比较慢&#xff0c; 需要得到具体的某段代码的具体执行时间的时候。有一个很好用的类Stopwatch。 Stopwatch 类在 Sy…

Docker 部署 postgresql 与 pgadmin4

Docker快速部署PostgreSQL服务 快速开始 请新建一个目录postgresql&#xff0c;进入目录postgresql&#xff0c;将以下文件保存为docker-compose.yml&#xff0c;然后执行docker-compose up version: 3 services:mydb:image: postgres:11volumes:- db-data:/var/lib/postgresql…

leetcode151. 翻转字符串里的单词

给定一个字符串&#xff0c;逐个翻转字符串中的每个单词。 示例 1&#xff1a; 输入: “the sky is blue” 输出: “blue is sky the” 代码 class Solution {public String reverseWords(String s) {int ns.length(),i0;ArrayList<String> arrayListnew ArrayList<…