nginx实战

文章目录

  • nginx实战
    • 安装环境
  • 实战主要学习
    • 静态网站配置
    • 基于端口的多虚拟主机
    • 访问日志
  • nginx代理服务

nginx实战

  • linux下如何安装一个工具

  • yum工具安装,自动下载nginx,且安装到固定的位置

  • 源代码编译安装,更适合于专业的,企业服务器环境

    • 支持开启nginx的第三方功能,额外的功能
    • 安装路径,配置文件的指定

安装环境

源代码编译安装(该方法适用于其他各种你想编译安装的第三方软件)

  • 下载nginx源代码
  • 在系统上安装好编译环境
  • 开始编译安装
  • 可以使用了
一. gcc 安装
安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:yum install gcc-c++
二. PCRE pcre-devel 安装
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:yum install -y pcre pcre-devel
三. zlib 安装
zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。yum install -y zlib zlib-devel
四. OpenSSL 安装
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。
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
  • 开始下载nginx源码,以及编译安装
1.下载源码包
wget -c https://nginx.org/download/nginx-1.12.0.tar.gz2.解压缩源码
tar -zxvf nginx-1.12.0.tar.gz3.配置,编译安装  开启nginx状态监测功能
./configure --prefix=/opt/nginx1-12/ --with-http_ssl_module --with-http_stub_status_module make && make install 4.启动nginx,进入sbin目录,找到nginx启动命令
[root@llz ~]#
[root@llz ~]# cd /opt/nginx1-12/
[root@llz nginx1-12]#
[root@llz nginx1-12]#
[root@llz nginx1-12]#
[root@llz nginx1-12]# pwd
/opt/nginx1-12
[root@llz nginx1-12]#
[root@llz nginx1-12]# ls
conf  html  logs  sbin# nginx的启动命令,就放在sbin这个目录下
[root@llz sbin]# ./nginx
[root@llz sbin]#
[root@llz sbin]#
[root@llz sbin]# netstat -tunlp |grep  nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      4329/nginx: master

实战主要学习

  • 部署一个静态网站
  • 基于端口的多虚拟主机
  • 访问日志
  • 错误日志
  • 代理服务

静态网站配置

# 1,打开nginx配置文件  vim nginx.conf
35     server {36         listen       80;37         server_name  localhost;3839         #charset koi8-r;4041         #access_log  logs/host.access.log  main;42         #  这里是nginx的网站配置区域43         location / {# nginx通过root指令,确定nginx的网页文件放在哪里# 这个html值得是nginx安装目录下加的一个html文件夹44             root   /opt/yuchao;# index参数指的是,首页文件的名字,文件名45             index  index.html index.htm;46         }4748         #error_page  404              /404.html;4950         # redirect server error pages to the static page /50x.html51         #52         error_page   500 502 503 504  /50x.html;53         location = /50x.html {54             root   html;55         }56
  • 修改了配置文件,得重启这个程序,才能更新配置
# 先验证配置文件,语法是否正确
[root@llz conf]# /opt/nginx1-12/sbin/nginx -t
nginx: the configuration file /opt/nginx1-12//conf/nginx.conf syntax is ok
nginx: configuration file /opt/nginx1-12//conf/nginx.conf test is successful# 告诉nginx,你重新读取配置文件
[root@llz conf]# /opt/nginx1-12/sbin/nginx -s reload

基于端口的多虚拟主机

在这里插入图片描述

# 这个功能是nginx自己提供的,你只需要修改它的配置文件即可
# 在nginx.conf中,出现一个 server{} 区域配置,就表示一个网站
# 看第一个虚拟主机的配置, server{}35     server {36         listen       80;37         server_name  localhost;3839         #charset koi8-r;4041         #access_log  logs/host.access.log  main;4243         location / {44             root   /opt/yuchao/;45             index  index.html index.htm;46         }4748         #error_page  404              /404.html;4950         # redirect server error pages to the static page /50x.html51         #52         error_page   500 502 503 504  /50x.html;53         location = /50x.html {54             root   html;55         }56     }57 # 第二个虚拟主机,我是韩剧TV的网站58 server {59         listen 81;60         server_name localhost;61         location / {62         root /opt/chaochao;63         index  index.html;64  }6566 }67
  • 修改网站1的内容
[root@llz conf]# cat /opt/yuchao/index.html
<meta charset=utf8>
我是视频网站。。
  • 修改网站2的内容
[root@llz conf]# cat /opt/chaochao/index.html
<meata charset=utf8>我是音乐网站
  • 修改了配置文件,一定要重启nginx服务
[root@llz conf]# /opt/nginx1-12/sbin/nginx  -t
nginx: the configuration file /opt/nginx1-12//conf/nginx.conf syntax is ok
nginx: configuration file /opt/nginx1-12//conf/nginx.conf test is successful
[root@llz conf]#
[root@llz conf]#
[root@llz conf]# /opt/nginx1-12/sbin/nginx  -s reload

访问日志

nginx能够记录用户的每一次访问请求

  • 对于该日志的记录,分析,可以更清晰的掌握服务器的动态信息,比如安全性
  • 对用户行为进行检测,分析
    • 能够记录出用户访问的时间,次数,频率
# 修改nginx的配置如下
# nginx.conf的层级关系http{# 日志功能写在这里,对下面这些网站都适用# 我是网站1server{}# 我是网站2server {}
}# 具体配置如下17 http {18     include       mime.types;19     default_type  application/octet-stream;2021     log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '22                       '$status $body_bytes_sent "$http_referer" '23                       '"$http_user_agent" "$http_x_forwarded_for"';2425     access_log  logs/access.log  main;26# 重启nginx服务[root@llz conf]# vim /opt/nginx1-12/conf/nginx.conf
[root@llz conf]#
[root@llz conf]# /opt/nginx1-12/sbin/nginx -s reload# 持续的检测,日志内容变化,tail -f命令
[root@llz conf]# tail -f /opt/nginx1-12/logs/access.log

通过该access.log日志,即可进行更多的日志分析,sed awk,grep这样的命令去实践。

nginx代理服务

nginx代理服务的配置

  • 当你访问你的个人linux机器,也就是nginx
  • 但是却可以拿到另外一个网站的数据内容
# 第一个虚拟主机,视频资料网站server {listen       80;server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;location / {proxy_pass https://baidu.com;}#error_page  404              /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}

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

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

相关文章

任务12、Quality指令加持,Midjourney生成电影级数码作品

12.1 任务概述 本次实验任务旨在帮助你掌握Midjourney AI绘画中的Quality指令。通过深入介绍Quality指令的概念和作用,我们将解释为什么它在绘画中至关重要。通过测试不同的Quality参数对绘画效果的影响,并提供实战演示,你将学会如何在Midjourney中设置Quality参数以达到更…

MFC创建和使用OCX控件

文章目录 MFC建立OCX控件注册OCX控件与反注册使用Internet Explorer测试ocx控件OCX控件添加方法OCX控件添加事件Web使用OCX控件MFC使用OCX控件使用OCX控件调用ocx的功能函数对ocx的事件响应OCX控件调试工具tstcon32.exe加载ocx控件使用tstcon32.exe调试ocxMFC建立OCX控件 新建…

Q-Vision+Kvaser CAN/CAN FD/LIN总线解决方案

智能联网技术在国内的发展势头迅猛&#xff0c;随着汽车智能化、网联化发展大潮的到来&#xff0c;智能网联汽车逐步成为汽车发展的主要趋势。越来越多整车厂诉求&#xff0c;希望可以提供本土的测量软件&#xff0c;特别是关于ADAS测试。而Softing中国推出的Q-Vision软件不仅可…

PyCharm新手入门指南

安装好Pycharm后&#xff0c;就可以开始编写第一个函数&#xff1a;Hello World啦~我们就先来学习一些基本的操作&#xff0c;主要包含新建Python文件&#xff0c;运行代码&#xff0c;查看结果等等。 文章主要包含五个部分&#xff1a; 一、界面介绍 主要分为菜单栏、项目目录…

本地开发 npm 好用的http server、好用的web server、静态服务器

好用的web server总结 有时需要快速启动一个web 服务器&#xff08;http服务器&#xff09;来伺服静态网页&#xff0c;安装nginx又太繁琐&#xff0c;那么可以考虑使用npm serve、http-server、webpack-dev-server。 npm serve npm 的serve可以提供给http server功能&#…

前端进阶js02----null和undefined的区别

1.相同点 1)都是原始类型的值且保存在栈中。 2) 在布尔运算中都会被认为是false 2.不同点 1&#xff09;null是js的关键字&#xff0c;表示空值&#xff1b;undefined不是关键字&#xff0c;是一个全局变量。 2&#xff09;值相同&#xff0c;但类型不一样 值相同&#xff1a…

Deep Image Prior:《Deep Image Prior》经典文献阅读总结与实现

文章目录 Deep Image Prior1. 方法原理1.1 研究动机1.2 方法 2. 实验验证2.1 去噪2.2 超分辨率2.3 图像修复2.4 消融实验 3. 总结 Deep Image Prior 1. 方法原理 1.1 研究动机 动机 深度神经网络在图像复原和生成领域有非常好的表现一般归功于神经网络学习到了图像的先验信息…

《合成孔径雷达成像算法与实现》Figure3.5

clc clear all close all%参数设置 TBP 100; %时间带宽积 T 10e-6; %脉冲持续时间%参数计算 B TBP/T; %信号带宽 K B/T; …

SolidUI社区-提示词链式思考(CoT)

背景 随着文本生成图像的语言模型兴起&#xff0c;SolidUI想帮人们快速构建可视化工具&#xff0c;可视化内容包括2D,3D,3D场景&#xff0c;从而快速构三维数据演示场景。SolidUI 是一个创新的项目&#xff0c;旨在将自然语言处理&#xff08;NLP&#xff09;与计算机图形学相…

2462. 雇佣 K 位工人的总代价;948. 令牌放置;1262. 可被三整除的最大和

2462. 雇佣 K 位工人的总代价 核心思想&#xff1a;分情况讨论&#xff0c;当2*candidates > n 时&#xff0c;直接取前k个工人即可&#xff1b;当2*candidates< n时&#xff0c;我们可以维护两个最小堆&#xff0c;然后不断比较堆中的值&#xff0c;然后用i,j两个指针表…

Spring 使用注解储存对象

文章目录 前言存储 Bean 对象五大注解五大注解示例配置包扫描路径读取bean的示例 方法注解 Bean Bean 命名规则重命名 Bean 前言 通过在 spring-config 中添加bean的注册内容&#xff0c;我们已经可以实现基本的Spring读取和存储对象的操作了&#xff0c;但在操作中我们发现读…

使用node-red实现一个物体地图巡航的案例

背景 随着物联网技术的快速发展,物体地图巡航已经成为了一种常见的应用场景。本文将介绍如何使用Node-RED实现一个物体地图巡航的案例。Node-RED是一个基于Node.js的可视化编程工具,它可以帮助用户快速构建流程和数据流。通过Node-RED,我们可以轻松地实现物体地图巡航的功能…

Nginx虚拟主机和日志详解

目录 1.Nginx虚拟主机1.1基于IP虚拟主机1.2基于端口虚拟主机1.3基于域名实现的虚拟主机 2.日志详解 1.Nginx虚拟主机 虚拟主机&#xff0c;Nginx配置中的多个server{}区域对应不同的业务(站点) 虚拟主机方式基于域名的虚拟主机不同的域名访问不同的站点基于IP的虚拟主机不同的…

Maven基础总结

前言 Maven 是一个项目管理工具&#xff0c;可以对 Java 项目进行构建、依赖管理。 基本要求掌握 配置Maven环境直接查。 得会在IDEA创建Maven的java项目吧、会创建Maven的web项目吧、会创建多模块项目吧。 得会配置插件pligin、依赖dependency吧 一、Maven四大特性 1、…

Spring中Bean的“一生”(生命周期)

文章目录 一、图解二、文字解析总结 一、图解 >注&#xff1a;处于同一行的执行顺序是从左往右 二、文字解析 SpringBean的生命周期总体分为四个阶段&#xff1a;实例化>属性注入>初始化>销毁 Step1 实例化Bean&#xff1a;根据配置文件中Bean的定义&#xff0c;…

Pytorch量化之Post Train Static Quantization(训练后静态量化)

使用Pytorch训练出的模型权重为fp32&#xff0c;部署时&#xff0c;为了加快速度&#xff0c;一般会将模型量化至int8。与fp32相比&#xff0c;int8模型的大小为原来的1/4, 速度为2~4倍。 Pytorch支持三种量化方式&#xff1a; 动态量化&#xff08;Dynamic Quantization&…

微服务服务拆分和远程调用

一、服务架构比较 单体架构&#xff1a;简单方便&#xff0c;高度耦合&#xff0c;扩展性差&#xff0c;适合小型项目。例如&#xff1a;学生管理系统 分布式架构&#xff1a;松耦合&#xff0c;扩展性好&#xff0c;但架构复杂&#xff0c;难度大。适合大型互联网项目&#x…

python的gui界面程序爬虫,python的gui界面怎么打开

大家好&#xff0c;小编来为大家解答以下问题&#xff0c;python的gui界面怎么打开&#xff0c;python的gui界面程序爬虫&#xff0c;今天让我们一起来看看吧&#xff01; Python支持多种图形界面的第三方库&#xff0c;包括&#xff1a; wxWidgets Qt GTK Tkinter&#xf…

[信号与系统系列] 正弦振幅调制之差拍信号

当将具有不同频率的两个正弦曲线相乘时&#xff0c;可以创建一个有趣的音频效果&#xff0c;称为差拍音符。这种现象听起来像颤音&#xff0c;最好通过选择一个频率非常小的信号与和另一个频率大约1KHz的信号&#xff0c;把二者混合从而听到。一些乐器能够自然产生差拍音符。使…

idea如何上传项目到github(超详细)

idea如何上传项目到github 1、IDEA配置2、项目上传到本地仓库2.1、创建本地git仓库2.2、Add操作2.3、Commit操作 3、项目上传到Github4、拿到登录Github的token 1、IDEA配置 File-Settings-VersionControl-Git Git的安装路径下bin目录下的git.exe可执行文件 可以直接点 Gene…