【必读】从零开始,一步步教你安装nginx,搭建个人博客网站!

news2024/9/17 7:39:33

nginx搭建个人网站

Nginx是一款轻量级Web服务器、反向代理服务器以及电子邮件代理服务器,并且具有高并发连接处理能力和低内存消耗的特点。它也可以用于负载均衡和缓存控制等功能。

功能:

  • 静态网站服务器:Nginx可以用来作为静态网站服务器,支持HTML、CSS、JavaScript等静态文件。
  • 动态网站服务器:通过安装PHP、Python等解释器,Nginx可以作为动态网站服务器,支持动态页面生成。
  • 反向代理服务器:Nginx可以作为反向代理服务器,接收来自客户端的请求,然后将请求转发到后端的服务器上,返回的结果再返回给客户端。
  • 负载均衡:Nginx可以用来作为负载均衡器,将客户端的请求分发到多个后端服务器上,提高网站的并发处理能力。
  • 邮件代理:Nginx可以作为邮件代理服务器,支持IMAP和POP3协议,可以用来接收和转发邮件。

安装方式

1、yum 安装 2、rpm 3、源码编译安装 4、docker部署安装

环境: Centos8

本次采用yum进行安装,适合新手学习。

部署

# 确定服务器可以访问外网
# 更新yum源
yum update -y

# 安装
yum install nginx

# 使用systemctl管理nginx服务
systemctl start nginx

# 设置开机启动
systemctl enable nginx

# 查看nginx服务状态
systemctl status nginx

# 如果防火墙开启的话需要放通端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

nginx配置文件路径:

# 配置文件一般情况下位于/etc/nginx/nginx.conf,整个目录包含主配置文件nginx.conf和其他配置文件
root@761e1b942a26:/etc/nginx# ls -la
total 24
drwxr-xr-x 1 root root   20 Dec 29  2021 .
drwxr-xr-x 1 root root   19 Nov 13 04:25 ..
drwxr-xr-x 1 root root   26 Nov 13 04:25 conf.d          # 配置目录,一般在主配置文件包含
-rw-r--r-- 1 root root 1007 Dec 28  2021 fastcgi_params
-rw-r--r-- 1 root root 5349 Dec 28  2021 mime.types      # 网页文本类型配置,一般不需要修改
lrwxrwxrwx 1 root root   22 Dec 28  2021 modules -> /usr/lib/nginx/modules # nginx模块
-rw-r--r-- 1 root root  648 Dec 28  2021 nginx.conf      # 主配置文件
-rw-r--r-- 1 root root  636 Dec 28  2021 scgi_params
-rw-r--r-- 1 root root  664 Dec 28  2021 uwsgi_params

# 网页服务器主目录一般在/usr/share/nginx,包括html目录以及对应index.html文件等
root@761e1b942a26:/usr/share/nginx/html# ls
50x.html  index.html

# 默认的nginx日志目录/var/log/nginx,包括访问日志和错误日志,根据主配置文件中定义
root@761e1b942a26:/var/log/nginx# ls
access.log  error.log

一般情况下的配置: 通过主配置文件定义web服务器的端口和参数,然后将网站资源文件放到服务器网页目录上即可。

nginx配置文件示例: 配置文件才能模块方式编写,使用{}进行同一区块分别,使用#进行注释。

  • Main Block: 主区块是一个配置文件的顶层区块,其中包含了对整个Nginx服务器的基础配置,如错误日志文件的位置、PID文件的位置、工作进程的数量等。
  • Events Block: 事件区块用于定义如何处理网络连接和处理请求,如采用哪种工作模型、最大连接数量、是否启用多线程等。
  • Http Block: Http区块是用于定义HTTP协议相关的配置,例如MIME类型、访问控制、错误页面重定向等。
  • Server Block: 服务器区块用于定义特定的虚拟主机或者应用程序,它可以包含子区块如Location Block来更具体地定义URL匹配规则和路由。
  • Upstream Block: 负载均衡器区块用于定义后端服务器集群的相关信息,如集群成员、轮询策略、健康检查等。
# 定义启动nginx服务器的用户以及进程数量
user  nginx;
worker_processes  auto;
# 定义错误日志和pid路径
error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;

# 工作进程连接数
events {
    worker_connections  1024;
}

# http块定义了包含server块的整体定义,如显示版本号,是否开启压缩,日志格式等
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    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  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;
	
	# include 定义了引用指定目录下的配置文件,一般将server块单独定义,一个网站一个server配置文件。
    include /etc/nginx/conf.d/*.conf;
}

# server块,可以在conf.d目录下新建一个xx.conf的文件,写入内容。
server {
    listen       80;  # 表示侦听80端口,有几种写法,如果多个ip地址可以指定地址,否则全部侦听
    listen  [::]:80;  # 侦听ipv6
    server_name  localhost;  # 域名,内网可以直接写ip地址,外网有dns可以写认证域名
	# 单独定义这个server的日志
    #access_log  /var/log/nginx/host.access.log  main;
	# location定义了网页根目录,以及网页默认文件类型index.html
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
	# 定义特定404页面返回文件
    #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   /usr/share/nginx/html;
    }
	# 配置PHP代理,实现动态网站搭建
    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}
alt

本文由 mdnice 多平台发布

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

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

相关文章

Linux 是否被过誉了?

Linux 是否被过誉了? 有些人眼里,电脑这种东西就应该是华丽丽的桌面,手握鼠标戳戳按钮,键盘只为偶尔打打字,仿佛windows式的桌面形式才是理所应当,GUI才是理所应当,x86才是理所应当&#xff0c…

Python游戏库pygame全方位使用指南,从零开始游戏开发!

文章目录 前言1.初始化化程序2.创建Surface对象3.事件监听4.游戏循环 二.Pygame Display显示模块详解1.将Surface对象粘贴至主窗口上2.设置窗口主窗口3.填充主窗口背景,参数值RGB4.设置窗口标题5.更新屏幕内容6.pygame.display其他方法 三.Pygame Surface创建图像1.…

竞赛选题 酒店评价的情感倾向分析

前言 🔥 优质竞赛项目系列,今天要分享的是 酒店评价的情感倾向分析 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/post…

github访问失败

1. 问题场景 今天了解到notepad可以安装许多插件,但是自动下载插件时总是失败,这些插件的下载源都是github,将地址复制到浏览器也打不开,所以查了下github的访问问题,目前插件已正常下载。 2. 解决方法 gitee上搜索…

VR全景校园:不被简单定义的校园展示,看的不止“一面”

学校的宣传,还是仅仅依靠一部宣传片来定义的吗?如今,在这个时代,VR全景技术已经越来越成熟了,并逐渐融入了我们的日常生活中,通过VR全景校园,我们可以在网上真实地感受校园的优美环境&#xff0…

Vue生成二维码并进行二维码图片下载

1、安包 npm install vue-qr --save2、引入 // vue2.0 import VueQr from vue-qr // vue3.0 import VueQr from vue-qr/src/packages/vue-qr.vue new Vue({components: {VueQr} })<!-- 设备二维码 对话框 270px--><el-dialog title"点位二维码" :visible.…

国民新旅游时代,OTA们如何制胜新周期?

文 | 螳螂观察&#xff08;TanglangFin&#xff09; 作者 | 图霖 消费全面复苏的大背景下&#xff0c;旅游业正迎来预期中的拐点。 一个显著表现是&#xff0c;旅游消费正在从可选消费转化成必选消费。 国内消费者旅游需求的不降反增&#xff0c;就是最好的印证。 同程研究…

shell脚本三

目录 一、循环语句 一、循环 二、for循环语句 1.列表循环 2.与c语言循环相似的for循环 3.使用for打印三角形以及乘法表 4.测试172.16.114.0网段存活的主机并将存活的主机IP地址写入文件中&#xff0c;未存活的主机放入另一文件中 三、while循环语句 四、until循环语句…

5.3 Windows驱动开发:内核取应用层模块基址

在上一篇文章《内核取ntoskrnl模块基地址》中我们通过调用内核API函数获取到了内核进程ntoskrnl.exe的基址&#xff0c;当在某些场景中&#xff0c;我们不仅需要得到内核的基地址&#xff0c;也需要得到特定进程内某个模块的基地址&#xff0c;显然上篇文章中的方法是做不到的&…

Java8新特性 ----- Lambda表达式和方法引用/构造器引用详解

前言 在讲一下内容之前,我们需要引入函数式接口的概念 什么是函数式接口呢? 函数式接口&#xff1a;有且仅有一个抽象方法的接口 java中函数式编程的体现就是Lambda表达式,你可以认为函数式接口就是适用于Lambda表达式的接口. 也可以加上注解来在编译层次上限制函数式接口 Fun…

关于2023年11月25日PMI认证考试有关事项的通知

PMP项目管理学习专栏https://blog.csdn.net/xmws_it/category_10954848.html?spm1001.2014.3001.54822023年8月PMP考试成绩出炉|微思通过率95%以上-CSDN博客文章浏览阅读135次。国际注册项目管理师(PMP) 证书是项目管理领域含金量最高的职业资格证书&#xff0c;获得该资质是项…

美团四年、字节三年,我的软件测试之路

前言 时间回到8年前&#xff0c;我人生中的第一份实习工作&#xff0c;是在某互联网公司做一个自动化测试工程师。当时的我可谓意气风发&#xff0c;想要大干一场&#xff0c;结果第一次做测试就出现了事故。由于对某些地方的不了解&#xff0c;把某一个地方侧漏了&#xff0c…

基于C#实现树状数组

有一种数据结构是神奇的&#xff0c;神秘的&#xff0c;它展现了位运算与数组结合的神奇魅力&#xff0c;太牛逼的&#xff0c;它就是树状数组&#xff0c;这种数据结构不是神人是发现不了的。 一、概序 假如我现在有个需求&#xff0c;就是要频繁的求数组的前 n 项和&#x…

2018年全国硕士研究生入学统一考试管理类专业学位联考数学试题——解析版

文章目录 2018 年考研管理类联考数学真题一、问题求解&#xff08;本大题共 5 小题&#xff0c;每小题 3 分&#xff0c;共 45 分&#xff09;下列每题给出 5 个选项中&#xff0c;只有一个是符合要求的&#xff0c;请在答题卡上将所选择的字母涂黑。真题&#xff08;2018-01&a…

JavaScript实现右键菜单

1、代码实现 window.onload function () {(function () {// 自定义右键菜单内容并插入到body最后一个节点前let dom <div id"rightMenuBars"><div class"rightMenu-group rightMenu-small"><div class"rightMenu-item"><…

C#开发的OpenRA游戏之属性RenderSprites(8)

C#开发的OpenRA游戏之属性RenderSprites(8) 本文开始学习RenderSprites属性,这个属性是跟渲染有关的,因此它就摄及颜色相关的内容,所以我们先来学习一下调色板,这是旧游戏的图片文件保存的格式,如果放在现代来看,不会再采用这种方法,毕竟现在存储空间变大,便宜了,并…

RubbleDB: CPU-Efficient Replication with NVMe-oF

RubbleDB: CPU-Efficient Replication with NVMe-oF 前言 这是ATC2023的文章&#xff0c;作者来自哥伦比亚大学这篇工作在LSM-tree多副本存储的场景下&#xff0c;利用NVMe-oF技术避免了LSM-tree副本上的重复合并&#xff0c;减少了CPU开销。 Introduction 为了提供高可用性…

练习九-利用状态机实现比较复杂的接口设计

练习九-利用状态机实现比较复杂的接口设计 1&#xff0c;任务目的&#xff1a;2&#xff0c;RTL代码3&#xff0c;RTL原理框图4&#xff0c;测试代码5&#xff0c;波形输出 1&#xff0c;任务目的&#xff1a; &#xff08;1&#xff09;学习运用状态机控制的逻辑开关&#xff…

vue history路径编码

记录今天遇到的一个问题&#xff1a; 问题现状 有一个需要前端伪造302进行重定向的需求&#xff0c;我们需要将这样的一个路径&#xff1a;http://xxx.com/system-name/#/index&#xff0c;拼接在跳转地址的后面&#xff0c;进行重定向。拼接的方式是这样的&#xff1a; htt…