Nginx安装配置报错详解
*Nginx*
****正向代理:****客户端/浏览器-服务器
****反向代理:****客户端-反向代理服务器-服务器
****负载均衡:****将请求分发到多个不同的服务器
****动静分离:****动态页面和静态页面分配给不同的服务器解析
*安装Nginx:*
安装nginx相关依赖:
pcre、openssl、zlib、OpenSSL
*安装所需环境*
Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境。
*一. 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 -y openssl openssl-devel
*一键安装依赖命令:*
yum -y install make zlib-devel gcc-c++ libtool openssl openssl-devel
*报错:*
```c
Loading mirror speeds from cached hostfileThere are no enabled repos.Run "yum repolist all" to see the repos you have.To enable Red Hat Subscription Management repositories:subscription-manager repos --enable <repo>To enable custom repositories:yum-config-manager --enable <repo>
解决办法:
https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b11NhOvqL
*依赖安装之后安装nginx:*
*下载:*
使用wget命令下载(推荐)。确保系统已经安装了wget,如果没有安装,执行 yum install wget 安装。
官网:
https://nginx.org/en/download.html
wget -c https://nginx.org/download/nginx-1.18.0.tar.gz
我下载的是1.18.0版本,这个是目前(2020-11-08)的稳定版。
*解压**:**
依然是直接命令:
tar -zxvf nginx-1.18.0.tar.gz
*检查和安装:*
cd nginx-1.18.0
make && make install
*安装成功后:*
cd /usr/local 目录下有一个nginx文件夹
*启动:*
cd /usr/local/nginx/sbin
./nginx
*查看进程:*
ps -ef | grep nginx
*添加规则:*
firewall-cmd -add-service=http --permanent
*查看防火墙开放端口:*
firewall-cmd --list-all
*开放指定端口:*
sudo firewall-cmd --add-port=端口号/tcp --permanent
*重启防火墙生效:*
firewall-cmd --reload
*开机自启动********:*
即在rc.local增加启动代码就可以了。
vi /etc/rc.local
增加一行
/usr/local/nginx/sbin/nginx
设置执行权限:
chmod 755 rc.local
*常用命令:*
cd /usr/local/nginx/sbin/
查看版本号:
./nginx -v
启动:
./nginx
停止:
./nginx -s stop
快速关闭,不管有没有正在处理的请求
停止:
./nginx -s quit Nginx
在退出前完成已经接受的连接请求
重新加载:
./nginx -s reload
*配置*
其实在 nginx-1.18.0 版本中你就不需要去配置相关东西,默认就可以了。当然,如果你要自己配置目录也是可以的。
*配置文件位置:*
/usr/local/nginx/conf nginx.conf
*nginx配置文件组成*
nginx配置文件有三部分组成:
- 第一部分全局块
从配置文件开始到events 块之间的内容,主要会设置一些影响nginx服务器整体运行的配置指令:
比如 worker_processes 1;
worker_processes值越大,可以支持的并发处理量也越多。
- 第二部分events块
events块涉及的指令主要影响Nginx服务器与用户的网络连接比如worker_ connections 1024;
支持的最大连接数
此部分对nginx影响较大,在使用中灵活配置
3.第三部分http块
配置最频繁的部分,代理、缓存和日志自定义等大多数第三方模块的配置都在这里,
http块 也可以分为http全局块、server块
http 全局块配置的指令包括文件引入、MIME-TYPE定义、日志自定义、连接超时时间、单链接请求数上限等。
*http 全局块:*
include 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 logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
*server块*
这块和虚拟主机有密切关系,虚拟主机从用户角度看,和一台独立的硬件主机是完全一样的,该技术的产生是为了节省互联网服务器硬件成本。
每个http 块可以包括多个server 块,而每个server 块就相当于一个虚拟主机。而每个server 块也分为全局server块,以及可以同时包含多个location块。
1、全局 server块。
最常见的配置是本虚拟机主机的监听配置和本虚拟主机的名称或IP配置。
2、location块
一个server块可以配置多个location块。
这块的主要作用是基于Nginx服务器接收到的请求字符串(例如server_name/uri-string ),对虚拟主机名称(也可以是P别名)之外的字符串(例如前面的/uri-string )进行匹配,对特定的请求进行处理。地址定向、数据缓存和应答控制等功能,还有许多第三方模块的配置也在这里进行。
server {
listen 80; //监听的端口号
server_name localhost; //主机的本地名称
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
到这里,nginx就安装完毕了,启动、停止、重启操作也都完成了,当然,你也可以添加为系统服务,我这里就不在演示了。
Nginx安装配置报错详解相关推荐
- CentOS7 安装配置FTP服务器详解
CentOS7 安装配置FTP服务器详解 1.FTP简介 ftp(File Transfer Protocol文件传输协议)是基于TCP/IP 协议的应用层协议,用于文件的传输,包括ftp服务器(或服 ...
- CentOS7 安装配置SFTP服务器详解
CentOS7 安装配置SFTP服务器详解 1.SFTP简介 SSH文件传输协议(英语:SSH File Transfer Protocol,也称Secret File Transfer Protoc ...
- Win10DB210.1企业版的安装卸载DB2建库建表空间执行sql脚本SQL5005C、SQL8027N license许可证等报错详解
注意事项 以下是我在使用DB2软件在过程中遇到的一系列的问题和报错,我将它们全部总结归纳在一起,希望对其他和我一样的同学能有帮助. ①.Win10的系统貌似是只支持DB210以上的版本的安装,我层尝试 ...
- 安装linux子系统报错,详解win10电脑中安装linux子系统出现错误0x80070057方法
现在很多的小伙伴在安装系统的时候都是选择安装双系统的操作的,那其实可以根据需求安装 Win10的系统还有linux系统的是很常见的开发用户的程序的选择,win10电脑就内置有linux子系统的,安装出 ...
- 【JDK】输入命令Javac报错详解
问题 相信很多人都经历过配置环境变量失败的经历,尤其是很多时候明明按照老师教的步骤或者教程上的方法循规守矩配置却还是出错. 下面我们来解决一个非常蹊跷的问题---输入Java和Java -versio ...
- linux下redis安装教程,linux下安装配置redis图文详解
在linux系统下安装redis的详细步骤如下: 1. 首先下载一个redis安装包,下载地址:https://www.daixiaorui.com/source/13.html .也可以去官网下载最 ...
- python def函数报错详解_Python函数详解
一.Python中函数的概念 1.python中函数概念 Python中函数是逻辑结构化和过程化的一种编程方法. 2.python中函数定义方法解释 def name(a): "The fu ...
- JavaScript高级语法打包 - babel插件安装配置报错!Error: Cannot find module ‘@babel/preset-preset.env‘
目录 1. 插件安装和配置 2. 运行打包 - 报错信息 3. 解决办法 1. 插件安装和配置 安装babel转换器相关的包: npm i babel-loader @babel/core @babe ...
- python def函数报错详解_python自定义函数def的应用详解
这篇文章主要介绍了python自定义函数def的应用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 这里是三岁,来和大家唠唠 ...
最新文章
- 手机中geetest是什么文件_安卓手机系统中各类英文文件夹的含义详解,不知道的尽快熟知!...
- 脚本语言和编程语言的区别
- 基于规则的应用程序开发实战(转载与MSDN)
- Apache Mahout:入门
- iOS常用的忽略警告
- Django(四):模型层Model
- WPS显示无法创建对象,请确认对象已在系统注册表中注册
- java httpclient 调用webservice_HttpClient调用WebService接口
- 计算机硬盘的文件怎么删除文件,电脑硬盘删除文件怎么恢复
- Scratch案例——画彩虹
- mme 服务器位置,NB-IOT的网络架构简介
- html浏览器兼容moz,webkit_css3中-moz、-ms、-webkit各什么意思
- 全球及中国冶金工业市场产量分析及投资战略决策报告2021版
- 有关信息安全的三个案例
- OmegaT-竞赛争论机协助翻译软件
- 细说API - 认证、授权和凭证
- linux 安装mmdetection 踩坑笔记
- 中国计算机学会2022年度CCF会士名单公布 阿里云李飞飞等9位当选
- 人脸识别活体检测之张张嘴和眨眨眼——readme
- seetaface6 android jni(二)