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

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.mfbz.cn/a/176811.html

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

相关文章

vr编辑器可以解决教育教学中的哪些问题

VR编辑器是一种基于虚拟现实技术的教育内容编辑器,可以帮助教师快速创建出高质量的虚拟现实教学内容。 比如在畜牧教学类,通过这个软件,教师可以将真实的动物场景、行为和特征模拟到虚拟现实环境中,让学生在沉浸式的体验中学习动物…

智能监控如何最大化保障生产工人权益,助力电焊车间智能化?

电焊车间加装监控可以加强对电焊车间的生产过程监控,保障员工的生产工作安全,提高工作效率,降低生产成本。但是传统的监控只能单一的去“看”,并不能最大化发挥视频监控的作用,而智能视频监控就不一样。它可以有效提高…

wvp分享视频访问页面

先登录查看视频 输入用户名密码登录 国标设备--点击通道 点击播放 点击复制 打开分享链接查看视频 直接在浏览器中打开 可以直接预览 原有标签退出登录 刷新分享的视频链接依然可以查看视频 iframe内嵌网页查看视频 获取iframe代码 点击复制 打开vscode,新建一…

Python——练习2

Python 练习一练习二练习三 练习一 (回文素数)回文素数是指一个数既是素数又是回文数。例如,131 既是素数也是回文数。数字313和717都是如此。编写程序显示前 100 个回文素数。每行显示10个数字,并且准确对齐如下所示。 2 3 5 7 11 …

DependencyProperty.Register:wpf 向别的xaml传递参数

一.使用背景:在A.xaml中嵌入B.xaml,并且向B.xaml传递参数。 函数介绍: public static DependencyProperty Register(string name, Type propertyType, Type ownerType );name(string): 依赖属性的名称。在…

二、Gitee使用方法

目录 (1)首先可以注册一个 gitee 账号,注册很方便,自行注册 (2)登陆后进入你的主页 (3)创建仓库 (3)克隆 (4)代码提交 &#xf…

IOS+Appium+Python自动化全实战教程

由于公司的产品坐落于不同的平台,如ios、mac、Android、windows、web。因此每次有新需求的时候,开发结束后,留给测试的时间也不多。此外,一些新的功能实现,偶尔会影响其他的模块功能正常的使用。 网上的ios自动化方面的…

alova—轻量级请求策略库

文章目录 前言alova 是什么为什么创造 alova 一、选择 alova 的理由?二、使用步骤完整的特性列表alova 请求策略表 三、如何使用安装使用 useRequest 发送一个请求 总结alova和请求库的关系 前言 Alova官网 Alova—github官网 alova 是什么 alova 是一个轻量级的…

驶入产业发展快车道,汉鑫科技人工智能研发中心正式启用!

11月18日,汉鑫科技人工智能研发中心正式启用。中心立足烟台,服务全国,聚焦工业智能、智能网联、智慧城市三大业务板块,以人工智能技术赋能政企实现“数智化”转型升级。该中心的启用标志着汉鑫科技在人工智能研发应用领域迈上了新…

如何在windows使用别名远程执行命令

需求背景 在开发中,需要在服务器执行脚本,需要如下几步操作: 1.打开xshell 2.登录服务器 3.进入命令脚本的路径 4.执行脚本 但是,作为懒人来说,操作太繁琐了,真麻烦,能不能一键就解决那么多操作?所以,开始研究windows有没有这个东西,而且不需要额外的软件就可以实现的.结…

优化记录 -- 记一次搜索引擎(SOLR)优化

业务场景 某服务根据用户相关信息,使用搜索引擎进行数据检索 软件配置 solr 1台:32c 64g 数据10gb左右,版本 7.5.5 应用服务器1台:16c 64g 应用程序 3节点 问题产生现象 1、因业务系统因处理能不足,对业务系统硬件…

渲染器之挂载与更新

讲解渲染器的核心功能:挂载与更新。 1、挂载子节点和元素的属性 当 vnode.children 的值是字符串类型时,会把它设置为元素的文本内容。一个元素除了具有文本子节点外,还可以包含其他元素子节点,并且子节点可以是很多个。为了描述…

产品需求分析师的基本职责(合集)

产品需求分析师的基本职责1 职责 1、主要对用友司库云产品进行调研及产品规划; 2、根据司库云业务需求进行详细需求的用户故事、原型设计、需求分析、详细需求文档编写等; 3、进行产品的需求管理、需求验证、产品演示等需求工作; 4、配合开发、UE人员完成对产品的开发任务;…

YOLOv5 分类模型 OpenCV和PyTorch两者实现预处理的差异

YOLOv5 分类模型 OpenCV和PyTorch两者实现预处理的差异 flyfish PyTorch封装了PIL库 简单对比下两者的使用方法 import cv2 from PIL import Image import numpy as npfull_path_file_name"/media/a//ILSVRC2012_val_00001244.JPEG"#OpenCV读取图像默认是BGR顺序 …

代码混淆不再愁:一篇掌握核心技巧

​ 1. 概述 代码混淆是将计算机程序的代码转换成一种功能上等价,但是难以阅读和理解的形式。 对于软件开发者来说,代码混淆可以在一定程度上保护程序免被逆向。 对于逆向工程师来说,学习代码混淆可以帮助我们研究反混淆技术。 2. 常见混淆…

Java Stream中的API你都用过了吗?

公众号「架构成长指南」,专注于生产实践、云原生、分布式系统、大数据技术分享。 在本教程中,您将通过大量示例来学习 Java 8 Stream API。 Java 在 Java 8 中提供了一个新的附加包,称为 java.util.stream。该包由类、接口和枚举组成&#x…

netstat

netstat 命令用于显示网络状态 参数说明: -a或--all 显示所有连线中的Socket,默认不显示LISTEN相关 -n 拒绝显示别名,能显示数字的全部转化成数字 -e或--extend 显示网络扩展信息(User,Inode) -p或--programs 显示正在使用So…

【精选】构建智能木材计数系统:深度学习与OpenCV完美结合(详细教程+源码)

1.研究背景与意义 随着科技的不断发展,计算机视觉技术在各个领域中得到了广泛的应用。其中,卷积神经网络(Convolutional Neural Network,CNN)作为一种强大的深度学习模型,已经在图像识别、目标检测、人脸识…

Linux常用操作 Vim一般使用 SSH介绍 SSH密钥登录

目录 1. 常用命令 2. vim一般使用 3. SSH介绍 4. ssh密钥登录 1. 常用命令 1)# 与 $ 提示的区别 # 表示用户有root权限,一般的以root用户登录提示符为#, $提示符表示用户为普通用户 2)ifconfig 查看ip地址 eno1: 代表由主板…
最新文章