Nginx安装和Nginx配置虚拟主机

Nginx安装

源码包获取地址:http://nginx.org/download/
RPM包获取地址:http://nginx.org/packages/centos/7Server/x86_64/RPMS/

RPM安装

这里选择的RPM包是 nginx-1.22.0-1.el7.ngx.x86_64.rpm

[root@localhost ~]# yum install nginx-1.22.0-1.el7.ngx.x86_64.rpm -y
[root@localhost ~]# systemctl start nginx
[root@localhost ~]# systemctl status nginx

在这里插入图片描述

直接输入IP地址
在这里插入图片描述

#找到默认网站根目录的路径
[root@localhost ~]# vim /etc/nginx/conf.d/default.conf
root   /usr/share/nginx/html;
[root@localhost ~]# echo web test page > /usr/share/nginx/html/index.html

在这里插入图片描述

源码安装

这里选择源码包是nginx-1.22.0.tar.gz
安装之前确保安装了 gcc openssl-devel pcre-devel zlib-devel

[root@localhost ~]# yum install gcc openssl-devel pcre-devel zlib-devel -y
[root@localhost ~]# groupadd -r nginx
[root@localhost ~]# grep nginx /etc/group
nginx:x:996:
[root@localhost ~]# useradd nginx -u 996 -r -g 996 -c "nginx user" -s /sbin/nologin 
[root@localhost ~]# yum install gcc gcc-c++ make -y
[root@localhost ~]# tar xf nginx-1.22.0.tar.gz -C /usr/local/src/
[root@localhost ~]# cd /usr/local/src/nginx-1.22.0/
[root@localhost nginx-1.22.0]# ./configure  --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module

[root@localhost nginx-1.22.0]# make
#未出现错误
[root@localhost nginx-1.22.0]# make install

[root@localhost nginx-1.22.0]# vim /usr/lib/systemd/system/nginx.service
#写入
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/sh -c "/bin/kill -s HUP $(/bin/cat /var/run/nginx.pid)"
ExecStop=/bin/sh -c "/bin/kill -s TERM $(/bin/cat /var/run/nginx.pid)"
[Install]
WantedBy=multi-user.target

[root@localhost nginx-1.22.0]# systemctl daemon-reload
[root@localhost nginx-1.22.0]# systemctl start nginx.service 
[root@localhost nginx-1.22.0]# systemctl status nginx.service 

在这里插入图片描述

[root@localhost ~]# vi /etc/nginx/nginx.conf
root   html; #相对路径
[root@localhost ~]# echo web test page 135 > /etc/nginx/html/index.html

在这里插入图片描述

Nginx虚拟主机

以rpm包安装的虚拟主机来进行实验

#创建目录
[root@localhost ~]# mkdir /usr/share/nginx//html/{bbs,blog}
[root@localhost ~]# echo blog test page > /usr/share/nginx//html/blog/index.html
[root@localhost ~]# echo bbs test page > /usr/share/nginx//html/bbs/index.html

基于IP的虚拟主机

[root@localhost ~]# nmcli connection modify ens33 +ipv4.addresses 192.168.40.129/24
[root@localhost ~]# nmcli connection up ens33
[root@localhost ~]# cd /etc/nginx/conf.d/

[root@localhost conf.d]# vim vhost.conf
server {
    listen       192.168.40.128:80;
    server_name  localhost;
    error_log   /var/log/nginx/bbs_error.log;
    access_log  /var/log/nginx/bbs_access.log  main;
    
    location / {
        root   /usr/share/nginx/html/bbs;
        index  index.html index.htm;
    }
}
server {
    listen       192.168.40.129:80;
    server_name  localhost;
    error_log   /var/log/nginx/blog_error.log;
    access_log  /var/log/nginx/blog_access.log  main;
    
    location / {
        root   /usr/share/nginx/html/blog;
        index  index.html index.htm;
    }
}

在这里插入图片描述
在这里插入图片描述

基于端口的虚拟主机

修改完成重启服务

server {
    listen       81;
    server_name  localhost;
    error_log   /var/log/nginx/bbs_error.log;
    access_log  /var/log/nginx/bbs_access.log  main;

    location / {
        root   /usr/share/nginx/html/bbs;
        index  index.html index.htm;
    }
}
server {
    listen       82;
    server_name  localhost;
    error_log   /var/log/nginx/blog_error.log;
    access_log  /var/log/nginx/blog_access.log  main;

    location / {
        root   /usr/share/nginx/html/blog;
        index  index.html index.htm;
    }
}

在这里插入图片描述
在这里插入图片描述

基于域名的虚拟主机

server {
    listen       80;
    server_name  bbs.open.cn;
    error_log   /var/log/nginx/bbs_error.log;
    access_log  /var/log/nginx/bbs_access.log  main;

    location / {
        root   /usr/share/nginx/html/bbs;
        index  index.html index.htm;
    }
}
server {
    listen       80;
    server_name  blog.open.cn;
    error_log   /var/log/nginx/blog_error.log;
    access_log  /var/log/nginx/blog_access.log  main;

    location / {
        root   /usr/share/nginx/html/blog;
        index  index.html index.htm;
    }
}

#在C:\Windows\System32\drivers\etc\hosts中添加
192.168.40.128  bbs.open.cn blog.open.cn

在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【项目 进程12】2.25 sigprocmask函数使用 2.26sigaction信号捕捉函数 2.27SIGCHILD信号

文章目录 2.25 sigprocmask函数使用2.26 sigaction信号捕捉函数内核实现信号捕捉的过程信号捕捉特性 2.27SIGCHILD信号 2.25 sigprocmask函数使用 阻塞信号集有时称作信号掩码。 联想:fcntl函数可以修改fd属性。 ./sigprocmask & //将程序设置为后台运行&…

深度学习论文: Towards Total Recall in Industrial Anomaly Detection及其PyTorch实现

深度学习论文: Towards Total Recall in Industrial Anomaly Detection及其PyTorch实现 Towards Total Recall in Industrial Anomaly Detection PDF: https://arxiv.org/pdf/2106.08265.pdf PyTorch代码: https://github.com/shanglianlm0525/CvPytorch PyTorch代码: https://…

2.4G芯片XL2408开发板,SOP16封装,芯片集成1T 8051内核单片机

XL2408开发板可用于2.4G芯片XL2408开发板的开发调试。XL2408烧录仿真需要使用WS_LINK。XL2408开发板烧录仿真需要接4根线:PA13:DIO,PA14:CLK,VCC,GND。 XL2408芯片集成射频收发机、频率收生器、晶体振荡器、调制解调器等功能模块,…

CentOS 7.6使用yum安装stress,源码安装stree-ng 0.15.06,源码安装sysstat 12.7.2

cat /etc/redhat-release看到操作系统的版本是CentOS Linux release 7.6.1810 (Core),uname -r可以看到内核版本是3.10.0-957.21.3.el7.x86_64 yum install stress sysstat -y安装stress和sysstat。 使用pidstat -u 5 1没有%wait项: 原因是CentOS 7仓…

1分钟解决github push/pull报错443

1.打开https://www.ipaddress.com/ 2.复制如图IP地址 3.文件夹打开C:\Windows\System32\drivers\etc,复制hosts文件,粘贴到桌面 4.在桌面用记事本打开复制过来的hosts 5.在末尾加上一行,IP写刚才复制的 6.复制桌面的hosts,粘贴回C:\Window…

剑指offer48.最长不含重复字符的子字符串

我一开始的想法是创建一个大小为26的int数组,下标为0对应的是‘a,25对应的是’z,然后一开始都赋为-1,用一个for循环从头遍历这个字符串,通过char c s.charAt(i)获得字符,然后c-97,就是它对应的…

windows系统之WSL 安装 Ubuntu

WSL windows10 以上才有这个wsl功能 WSL: windows Subsystem for Linux 是应用于Windows系统之上的Linux子系统 作用很简单,可以在Windows系统中获取Linux系统环境,并完全直连计算机硬件,无需要通过虚拟机虚拟硬件 Windows10的W…

swift - 如何在数组大小更改后刷新 ForEach 显示元素的数量(SwiftUI、Xcode 11 Beta 5)

我正在尝试实现一个 View ,该 View 可以在内容数组的大小发生变化时更改显示项目的数量(由 ForEach 循环创建),就像购物应用程序可能会在用户下拉刷新后更改其可用项目的数量一样 这是我到目前为止尝试过的一些代码。如果我没记错的话,这些适…

解决SVN或GIT忽略提交文件的问题

背景 使用IDEA 的SVN插件提交文件是总是会提交一些不需要提交的文件; 我们可以通过一些简单设置忽略这些文件。 git 在项目根目录新建文本文件,修改后缀为.gitignore 文件中添加内容 *.iml .project .gradle/ .idea/ target/ build/ .vscode/ .settings/ .facto…

matlab进阶:求解在约束条件下的多元目标函数最值(fmincon函数详解)

🌅*🔹** φ(゜▽゜*)♪ **🔹*🌅 欢迎来到馒头侠的博客,该类目主要讲数学建模的知识,大家一起学习,联系最后的横幅! 喜欢的朋友可以关注下,私信下次更新不迷路&#xff0…

MySQL数据库备份与恢复

在任何数据库环境中,总会有不确定的意外情况发生,比如停电,计算机系统的各种软硬件故障,认为破坏,管理员误操作等是不可避免的,这些情况可能会导致 数据的丢失, 服务器瘫痪 等严重后果。存在多个…

Linux第一个小程序-进度条(缓冲区概念)

1.\r和\n C语言中有很多字符 a.可显字符 b.控制字符 对于回车其实有两个动作,首先换行,在将光标指向最左侧 \r :回车 \n:换行 下面举个例子: 把\n去掉会怎样 什么都没输出。为什么? 2.缓冲区概念 观察下两个…

2023华数杯数学建模C题思路代码 母亲身心健康影响

C 题 母亲身心健康对婴儿成长的影响 母亲是婴儿生命中最重要的人之一,她不仅为婴儿提供营养物质和身体保护, 还为婴儿提供情感支持和安全感。母亲心理健康状态的不良状况,如抑郁、焦虑、 压力等,可能会对婴儿的认知、情感、社会行…

error: #5: cannot open source input file “core_cmInstr.h“

GD32F103VET6和STM32F103VET6引脚兼容。 GD32F103VET6工程模板需要包含头文件:core_cmInstr.h和core_cmFunc.h,这个和STM32F103还是有区别的,否则会报错,如下: error: #5: cannot open source input file "core…

linux基本功系列之cd命令实战

文章目录 前言一. cd命令的介绍二. 语法格式及常用选项三. 参考案例总结 前言 居然发现了落下了CD命令,也不算落下把,主要是cd命令内容太少,撑不起一篇文章,今天也写一写,就当记个笔记吧 🏠个人主页&#…

静态路由综合实验

实验拓扑如下: 实验要求如下: 【1】R6为isp,接口IP地址均为公有地址;该设备只能配置IP地址,之后不能再对其进行任何配置 【2】R1~R5为局域网,私有IP地址192.168.1.0/24,请合理分配 【3】所有路由器上环回…

Django框架之路由用法

简介 路由简单的来说就是根据用户请求的 URL 链接来判断对应的处理程序,并返回处理结果,也就是 URL 与 Django 的视图建立映射关系。 Django 路由在 urls.py 配置,urls.py 中的每一条配置对应相应的处理方法。 Django 不同版本 urls.py 配…

java 数组的使用

数组 基本介绍 数组可以存放多个同一类型的数据,数组也是一种数据类型,是引用类型。 即:数组就是一组数据。 数组的使用 1、数组的定义 方法一 -> 单独声明 数据类型[] 数组名 new 数据类型[大小] 说明:int[] a new int…

轻量级目标检测模型NanoDet-Plus微调、部署(保姆级教学)

前言 NanoDet-Plus是超快速、高精度的轻量级无锚物体检测模型,github项目文件。可以在移动设备上实时检测。其主要特点是 超轻量:模型文件仅980KB(INT8)、1.8MB(FP16)超快:移动ARM CPU上97fps(10.23ms)高精度&#xf…

预测狗狗币价格 -- 机器学习项目基础篇(5)

Dogecoin(狗狗币)是一种加密货币,就像以太坊或比特币一样-尽管它与这两种着名的硬币完全不同。Dogecoin最初在某种程度上是作为加密爱好者的一个笑话,并从一个以前众所周知的模因中取了它的名字。 在本文中,我们将实现一个机器学习模型&#…