首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Nginx的安装与核心配置

Nginx的安装与核心配置

作者头像
程序员波特
发布2024-01-28 10:02:49
发布2024-01-28 10:02:49
2890
举报
文章被收录于专栏:魔法书魔法书

安装Nginx 与运行

安装Nginx
  1. 去官网http:/nginx .org/下载对应的nginx 包,推荐使用稳定版本
  2. 上传nginx 到linux 系统
  3. 安装依赖环境
  • 安装gcc环境:yum instalt gcc-C++
  • 安装PCRE库,用于解析正则表达式:yum instalt - y pcre pcre-devet
  • zlib压缩和解压缩依赖:yum instalt - y zlib zlib-devel 也就是nttps
  • SSL安全的加密的套接字协议层,用于HTTP安全传输,yum instatt - y opensst openss l-devet
  1. 解压,需要注意,解压后得到的是源码,源码需要编译后才能安装 tar-zxvf nginx-1. 16.1. tar.gz
  2. 编译之前,先创建nginx 临时目录,如果不创建,在启动nginx的过程中会报错 mkdir / var/ temp/ nginx - p
  3. 在nginx 目录,输入如下命令进行配置,目的是为了创建makefile 文件 / configure \ n - -prefix= / usr/ local/ nginx \ n - -pid-path= / var/ run/ nginx/ nginx. pid \ n - -lock-

\n代表在命令行中换行,用于提高可读性

配置命令:

命令

解释

-prefix

指定nginx 安装目录

-pid-path

指向nginx 的pid

-lock-path

锁定安装文件,防止被恶意篡改或误操作

-error-log

错误日志

-http-log-path

http日志

-with-http gzip static module

启用gzip模块,在线实时压缩输出数据流

-http-client-body-temp-path

设定客户端请求的临时目录

-http-fastcgi-temp-path

设定fastcgil 临时目录

-http-uwsgi-temp-path

设定uwsgi 临时目录

-http-scgi-temp-path

设定scgi临时目录

  1. make编译:make
  2. 安装:make install
  3. 进入sbin目录启动nginx :. /nginx ,停止:./nginx -s stop ,重新加载:./nginx -s reload
  4. 打开浏览器,访问虚拟机所处内网ip即可打开nginx 默认页面,显示如下便表示安装成功:

注意事项:

  1. 如果在云服务器安装,需要开启默认的nginx 端口:80
  2. 如果在虚拟机安装,需要关闭防火墙
  3. 本地win或mac需要关闭防火墙

niginx.conf核心配置文件

  1. 设置worker 进程的用户,指的linux 中的用户,会涉及到nginx操作目录或文件的一些权限,默认为nobody :user root
  2. worker 进程工作数设置,一般来说CPU有几个,就设置几个,或者设置为N-1也行:worker _processes 1;
  3. nginx 日志级别debug i info notice warn error I crit I alert emerg ,错误级别从左到右越来越大
  4. 设置nginx 进程pid pid logs/ nginx. pid;
  5. 设置工作模式
代码语言:javascript
复制
events {
	#默认使用epoll 
	use epott;
	#每个worker 允许连接的客户端最大连接数
	worker connections 10240 
}
  1. http是指令块,针对http网络传输的一些指令配置
代码语言:javascript
复制
http {
}
  1. include 引入外部配置,提高可读性,避免单个配置文件过大
代码语言:javascript
复制
include 	mime. types 
  1. 设定日志格式,main为定义的格式名称,如此access _log就可以直接使用这个变量了
代码语言:javascript
复制
# log_format main '$sremote_ 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;

参数名

参数意义

$remote_addr

客户端ip

$remote_user

远程客户端用户名,一般为:“_”

$time_local

时间和时区

$request

请求的url以及method

$status

响应状态码

$body_bytes_send

响应客户端内容字节数

$http_referer

记录用户从哪个链接跳转过来的

$http_user_agent

用户所使用的代理,一般来时都是浏览器

$http_x_forwarded_for

通过代理服务器记录客户端的ip

  1. sendfile 使用高效文件传输,提升传输性能。启用后才能使用tcp_nopush ,是指当数据表累积一定大小后才发送,提高了效率。
代码语言:javascript
复制
sendfile   		on;
tcp_nopush		on;
  1. keepalive _timeout 设置客户端与服务端请求的超时时间,保证客户端`多次请求的时候不会重复建立新的连接,节约资源损耗。
代码语言:javascript
复制
# keepalive_ timeout  0
 keepalive _ timeout  65 
  1. gzip启用压缩,html/js/css压缩后传输会更快 gzip on;
  2. server 可以在http指令块中设置多个虚拟主机
  • listen 监听端口
  • server name localhost 、ip、域名
  • location 请求路由映射,匹配拦截
  • root请求位置
  • index 首页设置
代码语言:javascript
复制
server {
 	listen 			88;
 	server_name 	localhost;
 	location / {
 	 		root html;
 	 		index index.htmt index.htm 
 	}
}

本文已收录至我的个人网站:程序员波特,主要记录Java相关技术系列教程,共享电子书、Java学习路线、视频教程、简历模板和面试题等学习资源,让想要学习的你,不再迷茫。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-01-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装Nginx 与运行
    • 安装Nginx
  • niginx.conf核心配置文件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档