
- 软件类型
- 开源软件,网页服务器软件
- 最新生产版本
- 1.18.0 [1]
- 别 名
- engine x
- 最新主线版本
- 1.19.1 [1]
- 中文名
- nginx
- 软件许可
- BSD许可
- 外文名
- Nginx
- 兼容性
- Linux系统,Windows NT系统,OS X
-
nginx
2019-02-28 16:39:12nginx1. nginx简介2. nginx的特性与优点2.1 nginx的特性2.2 nginx的优点3. nginx反向代理3.1 反向代理的作用3.2 正向代理和反向代理的区别4. nginx的安装与配置4.1 nginx的安装4.2 nginx安装后的配置 1. nginx简介 ...nginx
1. nginx简介
nginx(发音同engine x)是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。
nginx的特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
2. nginx的特性与优点
2.1 nginx的特性
- Nginx使用基于事件驱动架构,使得其可以支持数以百万级别的TCP连接
- 高度的模块化和自由软件许可证是的第三方模块层出不穷(这是个开源的时代啊~)
- Nginx是一个跨平台服务器,可以运行在Linux,Windows,FreeBSD,Solaris, AIX,Mac OS等操作系统上
- 这些优秀的设计带来的极大的稳定性
2.2 nginx的优点
- 高并发连接:官方测试能够支撑5万并发连接,在实际生产环境中跑到2-3万并发连接数
- 内存消耗少:在3万并发连接下,开启的10个nginx进程才消耗150M内存(15M*10=150M)
- 配置文件非常简单:风格跟程序一样通俗易懂
- 成本低廉:nginx为开源软件,可以免费使用。而购买F5 BIG-IP、NetScaler等硬件负载均衡交换机则需要十多万至几十万人民币
- 支持Rewrite重写规则:能够根据域名、URL的不同,将HTTP请求分到不同的后端服务器群组
- 内置的健康检查功能:如果Nginx Proxy后端的某台Web服务器宕机了,不会影响前端访问
- 节省带宽:支持GZIP压缩,可以添加浏览器本地缓存的Header头
- 稳定性高:用于反向代理,宕机的概率微乎其微
- 模块化设计:模块可以动态编译
- 外围支持好:文档全,二次开发和模块较多
- 支持热部署:可以不停机重载配置文件
- 支持事件驱动、AIO(AsyncIO,异步IO)、mmap(Memory Map,内存映射)等性能优化
3. nginx反向代理
多个客户端给服务器发送的请求,Nginx服务器接收到之后,按照一定的规则分发给了后端的业务处理服务器进行处理了。此时~请求的来源也就是客户端是明确的,但是请求具体由哪台服务器处理的并不明确了,Nginx扮演的就是一个反向代理角色。
客户端是无感知代理的存在的,反向代理对外都是透明的,访问者并不知道自己访问的是一个代理。因为客户端不需要任何配置就可以访问。
反向代理,“它代理的是服务端”,主要用于服务器集群分布式部署的情况下,反向代理隐藏了服务器的信息。
3.1 反向代理的作用
- 保证内网的安全,通常将反向代理作为公网访问地址,Web服务器是内网
- 负载均衡,通过反向代理服务器来优化网站的负载
3.2 正向代理和反向代理的区别
- 在正向代理中,Proxy和Client同属于一个LAN(图中方框内),隐藏了客户端信息;
- 在反向代理中,Proxy和Server同属于一个LAN(图中方框内),隐藏了服务端信息;
4. nginx的安装与配置
4.1 nginx的安装
//创建系统用户nginx
[root@xaii ~]# groupadd -r nginx [root@xaii ~]# useradd -r -M -s /sbin/nologin -g nginx nginx
//安装依赖环境
[root@xaii ~]# yum -y install pcre-devel openssl openssl-devel gd-devel gcc gcc-c++ 暗转过程省略...... [root@xaii ~]# yum -y groups mark install 'Development Tools' 安装过程省略......
//创建日志存放目录
[root@xaii ~]# mkdir -p /var/log/nginx [root@xaii ~]# chown -R nginx.nginx /var/log/nginx/
//下载nginx,下载过程省略,存放至/usr/src目录下
[root@xaii src]# wget http://nginx.org/download/nginx-1.12.0.tar.gz [root@xaii ~]# ls /usr/src/ |grep nginx nginx-1.12.0.tar.gz
//编译安装nginx
[root@xaii src]# tar xf nginx-1.12.0.tar.gz [root@xaii src]# cd nginx-1.12.0 [root@xaii nginx-1.12.0]# ./configure \ --prefix=/usr/local/nginx \ --user=nginx \ --group=nginx \ --with-debug \ --with-http_ssl_module \ --with-http_realip_module \ --with-http_image_filter_module \ --with-http_gunzip_module \ --with-http_gzip_static_module \ --with-http_stub_status_module \ --http-log-path=/var/log/nginx/access.log \ --error-log-path=/var/log/nginx/error.log //安装过程省略.... [root@xaii nginx-1.12.0]# make -j $(grep 'processor' /proc/cpuinfo | wc -l) && make install //-j是指定多少内核 //过程省略......
4.2 nginx安装后的配置
//添加环境变量
[root@xaii ~]# vim /etc/profile.d/nginx.sh [root@xaii ~]# cat /etc/profile.d/nginx.sh export PATH=/usr/local/nginx/sbin:$PATH [root@xaii ~]# . /etc/profile.d/nginx.sh
//服务控制方式,使用nginx命令
-t //检查配置文件语法 [root@xaii ~]# nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful -v //输出nginx的版本 root@xaii ~]# nginx -v nginx version: nginx/1.12.0 -c //指定配置文件的路径 需要拷贝两个文件:nginx.conf和mime.type至新的路径 [root@xaii conf]# cp -a nginx.conf /opt/nginx/ [root@xaii conf]# cp -a mime.types /opt/nginx [root@xaii ~]# ps -ef |egrep -v 'grep'|grep nginx root 4040 1 0 00:03 ? 00:00:00 nginx: master process nginx -c /optnginx/nginx.conf nginx 4041 4040 0 00:03 ? 00:00:00 nginx: worker process 可以看到,现在用的配置文件为/opt/nginx/nginx.conf -s //发送服务控制信号,可选值有{stop|quit|reopen|reload}
//nginx和apache不能同时开启
//因为apache和nginx的端口都是80,当apache服务开启时,无法开始nginx服务 [root@xaii ~]# ss -antlp|grep 80 LISTEN 0 128 :::80 :::* users:(("httpd",pid=4081,fd=4),("httpd",pid=4080,fd=4),("httpd",pid=4079,fd=4),("httpd",pid=4078,fd=4),("httpd",pid=4077,fd=4),("httpd",pid=4076,fd=4)) [root@xaii ~]# nginx nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) ^C
//关闭apache服务,再开启nginx服务
[root@xaii ~]# apachectl stop [root@xaii ~]# nginx [root@xaii ~]# ss -antlp|grep 80 LISTEN 0 128 *:80 *:* users:(("nginx",pid=4069,fd=6),("nginx",pid=4068,fd=6))
4.3利用脚本控制nginx服务的开启,重载,和关闭
#! /bin/bash nginx=/usr/local/nginx/sbin/nginx conf_path=/opt/nginx/nginx.conf case $1 in start) $nginx -c $conf_path if [ $? -eq 0 ];then echo 'nginx start sucessful' else echo 'nginx start faild' fi ;; restart) $nginx -s stop $nginx -c $conf_path if [ $? -eq 0 ];then echo 'nginx restart sucessful' else echo 'nginx restart faild' fi ;; stop) $nginx -s stop 2>/dev/null if [ $? -eq 0 ];then echo 'nginx is off' else echo 'nginx error' fi ;; esac
5. nginx的配置文件详解
主配置文件:/usr/local/nginx/conf/nginx.conf
- 默认启动nginx时,使用的配置文件是:安装路径/conf/nginx.conf文件
- 可以在启动nginx时通过-c选项来指定要读取的配置文件
5.1 nginx.conf配置详解
nginx.conf的内容分为以下几段:
- main配置段:全局配置段。其中main配置段中可能包含event配置段
- event {}:定义event模型工作特性
- http {}:定义http协议相关的配置
支持使用变量:
- 内置变量:模块会提供内建变量定义
- 自定义变量:set var_name value
5.2 用于调试、定位问题的配置
- 参数daemon {on|off}; //是否以守护进程方式运行nginx,调试时应设置为off
- master_process {on|off}; //是否以master/worker模型来运行nginx,调试时可以设置为off
- error_log 位置 级别; //配置错误日志
5.3 正常运行必备的配置参数
-
user USERNAME [GROUPNAME]; //指定运行worker进程的用户和组
-
pid /path/to/pid_file; //指定nginx守护进程的pid文件
-
worker_rlimit_nofile number; //设置所有worker进程最大可以打开的文件数,默认为1024(文件系统最大打开的文件数为65535)
//此设置为nginx的配置,还需配置系统的文件 [root@nginx ~]# head -3 /usr/local/nginx/conf/nginx.conf user nginx;(初始为nobody) worker_processes 4;(cpu核心数) worker_rlimit_nofile 30000;(默认为1024,最大为65535,我们设置为30000) [root@nginx ~]# nginx -s reload //修改系统的硬限制和软限制,都设置为最大的65535 [root@nginx ~]# vim /etc/security/limits.conf [root@nginx ~]# tail -4 /etc/security/limits.conf * soft nofile 65535 * hard nofile 65535 # End of file
-
worker_rlimit_core size; //指明所有worker进程所能够使用的总体的最大核心文件大小,保持默认即可
5.4 优化性能的配置参数
- worker_processes n; //启动n个worker进程,这里的n为了避免上下文切换,通常设置为cpu总核心数-1或等于总核心数
- worker_cpu_affinity cpumask …; //将进程绑定到某cpu中,避免频繁刷新缓存
- //cpumask:使用8位二进制表示cpu核心,如:
0000 0001 //第一颗cpu核心
0000 0010 //第二颗cpu核心
0000 0100 //第三颗cpu核心
0000 1000 //第四颗cpu核心
0001 0000 //第五颗cpu核心
0010 0000 //第六颗cpu核心
0100 0000 //第七颗cpu核心
1000 0000 //第八颗cpu核心
- //cpumask:使用8位二进制表示cpu核心,如:
- timer_resolution interval; //计时器解析度。降低此值,可减少gettimeofday()系统调用的次数
- worker_priority number; //指明worker进程的nice值
//具体配置:
[root@nginx ~]# head /usr/local/nginx/conf/nginx.conf |grep worker_ worker_processes 4;(cpu核心数为4个) worker_rlimit_nofile 30000; worker_cpu_affinity 00000001 00000010 00000100 00001000;(所以这里也只能写4个) [root@nginx ~]# nginx -s reload
5.5 事件相关的配置:event{}段中的配置参数
-
accept_mutex {off|on}; //master调度用户请求至各worker进程时使用的负载均衡锁;on表示能让多个worker轮流地、序列化地去响应新请求
[root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf events { worker_connections 1024; accept_mutex on;(添加此内容) }
-
lock_file file; //accept_mutex用到的互斥锁锁文件路径
pid logs/nginx.pid; lock_file logs/nginx.lock;(添加此内容,写在event外部,顶格写)
-
use [epoll | rtsig | select | poll]; //指明使用的事件模型,建议让nginx自行选择
-
worker_connections #; //每个进程能够接受的最大连接数
events { worker_connections 1024; accept_mutex on;
}
注意:
worker_connections(连接数) * worker_processes(cpu核心数) <=30000
5.6 网络连接相关的配置参数
-
keepalive_timeout number; //长连接的超时时长,默认为65s
keepalive_timeout 65;
-
keepalive_requests number; //在一个长连接上所能够允许请求的最大资源数
keepalive_requests 100;(配置文件中没有设置,默认为100,看自己的业务设置)
-
keepalive_disable [msie6|safari|none]; //为指定类型的UserAgeng禁用长连接
-
tcp_nodelay on|off; //是否对长连接使用TCP_NODELAY选项,为了提升用户体验,通常设为on
tcp_nodelay on;(默认为on)
-
client_header_timeout number; //读取http请求报文首部的超时时长
-
client_body_timeout number; //读取http请求报文body部分的超时时长
-
send_timeout number; //发送响应报文的超时时长
5.7 fastcgi的相关配置参数
LNMP:php要启用fpm模型
配置示例如下: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; }
6. 搭建lnmp架构
6.1 环境:
nginx端:192.168.157.69
php、mysql、zabbix端:192.168.157.596.2 php安装
6.3 mysql安装
6.4 php端配置
//修改配置文件并重启php服务
[root@xaii ~]# tail -2 /usr/local/php7/etc/php-fpm.conf listen = 192.168.157.59:9000 (//添加此内容) listen.allowed_clients = 192.168.157.69 (//添加此内容) [root@xaii ~]# service php-fpm restart Gracefully shutting down php-fpm . done Starting php-fpm done [root@xaii ~]# ss -antl |grep 9000 LISTEN 0 128 192.168.157.59:9000 *:*
6.5 nginx端配置
//修改配置文件并新加载nginx服务
location / { root html; index index.php(//添加此内容) index.html index.htm; } location ~ \.php$ { root /var/www/zabbix;(php端的zabbix目录) fastcgi_pass 192.168.157.59:9000; (指向php端ip地址) fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } [root@nginx html]# nginx -s reload
6.6 两端都开启nfs服务,将php端的zabbix目录共享至nginx端
//php端nfs配置:
[root@xaii ~]# yum -y install nfs-utils [root@xaii ~]# systemctl start nfs [root@xaii ~]# echo '/var/www/zabbix *(ro)' > /etc/exports [root@xaii ~]# chmod 777 /var/www/zabbix/ [root@xaii ~]# systemctl restart nfs-server
//nginx端nfs配置,将php端zabbix目录挂载到本地的/usr/local/nginx/html/
[root@nginx ~]# yum -y install nfs-utils [root@nginx ~]# systemctl start nfs [root@nginx ~]# mount -t nfs 192.168.157.59:/var/www/zabbix /usr/local/nginx/html(临时挂载) [root@nginx ~]# df -Th 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/mapper/rhel-root xfs 17G 1.5G 16G 9% / devtmpfs devtmpfs 901M 0 901M 0% /dev tmpfs tmpfs 912M 0 912M 0% /dev/shm tmpfs tmpfs 912M 8.6M 904M 1% /run tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup /dev/loop0 iso9660 3.8G 3.8G 0 100% /mnt /dev/sda1 xfs 1014M 143M 872M 15% /boot tmpfs tmpfs 183M 0 183M 0% /run/user/0 192.168.157.59:/usr/local/apache/htdocs/zabbix nfs4 17G 5.9G 12G 35% /usr/local/nginx/html [root@nginx ~]# nginx -s reload
6.7 验证
//永久挂载
[root@nginx ~]# vim /etc/fstab 192.168.157.59:/var/www/zabbix /usr/local/nginx/html nfs defaults,_netdev 0 0 [root@nginx ~]# mount -a [root@nginx ~]# df -Th 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/mapper/rhel-root xfs 17G 1.5G 16G 9% / devtmpfs devtmpfs 901M 0 901M 0% /dev tmpfs tmpfs 912M 0 912M 0% /dev/shm tmpfs tmpfs 912M 8.6M 904M 1% /run tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup /dev/loop0 iso9660 3.8G 3.8G 0 100% /mnt /dev/sda1 xfs 1014M 143M 872M 15% /boot tmpfs tmpfs 183M 0 183M 0% /run/user/0 192.168.157.59:/var/www/zabbix nfs4 17G 5.8G 12G 34% /usr/local/nginx/html
7. nginx作为web服务器使用的配置:http{}段的配置参数
http{…}:配置http相关,由ngx_http_core_module模块引入。nginx的HTTP配置主要包括四个区块,结构如下:
http {//协议级别 include mime.types; default_type application/octet-stream; keepalive_timeout 65; gzipon; upstream {//负载均衡配置 ... } server {//服务器级别,每个server类似于httpd中的一个<VirtualHost> listen80; server_name localhost; location / {//请求级别,类似于httpd中的<Location>,用于定义URL与本地文件系统的映射关系 root html; index index.html index.htm; } } }
//http{}段配置指令:
server {}:定义一个虚拟主机,示例如下:server { listen 80; server_name www.lizhao.com;(自己定义) root "/vhosts/web"; (html下网页的路径) }
listen:指定监听的地址和端口:
listen address[:port]; listen port;
-
root path; 设置资源路径映射,用于指明请求的URL所对应的资源所在的文件系统上的起始路径
-
alias path; 用于location配置段,定义路径别名
-
index file; 默认主页面
-
error_page code […] [=code] URI | @name 根据http响应状态码来指明特用的错误页面,例如 error_page 404 /404_customed.html
-
[=code]:以指定的响应码进行响应,而不是默认的原来的响应,默认表示以新资源的响应码为其响应码,例如 error_page 404 =200 /404_customed.html
location区段,通过指定模式来与客户端请求的URI相匹配:
//功能:允许根据用户请求的URI来匹配定义的各location,匹配到时,此请求将被相应的location配置块中的配置所处理,例如做访问控制等功能
例如:
URL:https://www.baidu.com/?tn=sitehao123_15
URI:www.baidu.com
?以前的是协议(https)+URI,?以后的是参数。//语法:location [ 修饰符 ] pattern {......}
-
Nginx
2019-10-17 18:56:59Nginx 编译 Nginx 针对 Unix 环境 下载 Nginx 从 Nginx 官网 出下载想要编译版本的 Nginx,Nginx 官方提供三个版本: Mainline version 主线版本,功能较新,稳定性较 Stable version 稍差,建议学习使用该版本...Nginx
编译 Nginx
针对 Unix 环境
下载 Nginx
从 Nginx 官网 出下载想要编译版本的 Nginx,Nginx 官方提供三个版本:
- Mainline version
主线版本,功能较新,稳定性较 Stable version 稍差,建议学习使用该版本,实际生产使用 Stable version。
- Stable version
稳定版本
- Legacy versions
历史版本
wget http://nginx.org/download/nginx-1.17.4.tar.gz tar -zxvf nginx-1.17.4.tar.gz cd nginx-1.17.4
Nginx 源码目录介绍
auto
编译时的依赖库以及针对操作系统特性选择库
CHANGES
英文版 Nginx 各版本变更说明
CHANGES.ru
俄文版 Nginx 各版本变更说明(Nginx 作者是俄罗斯人)
conf
配置文件目录
configure
编译配置,编译前生成中间文件方便编译
主要有编译路径配置、某些功能开关及模块配置
--prefix
设置服务器存放地址,也是其他未配置路径的目录的默认根目录--XXX-path
代表设置 XXX 目录的地址--with-XXX_module
代表启用某些模块--without-XX_module
代表禁用某些模块,这些模块时 Nginx 默认会编译的模块还有一些其他参数可以参考可以参考 Ngxin 官方文档
contrib
vim 提示插件以及一些提升使用 Nginx 效率的工具脚本
配置 vim 提示
cp -r contrib/vim ~/.vim
针对不同层次结构以及不同关键字颜色区别会更明显
html
存放 index.html(Nginx 默认欢迎页)和 50x.html(Nginx 默认错误页)
index.html:
50x.html:
LICENSE
许可证信息
man
Nginx 为 linux 提供的帮助文件
可以使用命令查看(与编译后使用
nginx -h
相比内容更丰富)man man/nginx.8
README
自述文件
src
源码
编译
首先需要使用
configure
进行配置,一般只设置--prefix
即可:./configure --prefix=/home/sanchan/nginx
配置会输出配置简要说明:
Configuration summary using system PCRE library OpenSSL library is not used using system zlib library nginx path prefix: "/home/sanchan/nginx" nginx binary file: "/home/sanchan/nginx/sbin/nginx" nginx modules path: "/home/sanchan/nginx/modules" nginx configuration prefix: "/home/sanchan/nginx/conf" nginx configuration file: "/home/sanchan/nginx/conf/nginx.conf" nginx pid file: "/home/sanchan/nginx/logs/nginx.pid" nginx error log file: "/home/sanchan/nginx/logs/error.log" nginx http access log file: "/home/sanchan/nginx/logs/access.log" nginx http client request body temporary files: "client_body_temp" nginx http proxy temporary files: "proxy_temp" nginx http fastcgi temporary files: "fastcgi_temp" nginx http uwsgi temporary files: "uwsgi_temp" nginx http scgi temporary files: "scgi_temp"
配置生成的中间文件会放置到 objs目录下,有兴趣的小伙伴可以看下。
然后就可以进行编译了:
make
编译会在 objs 目录下生产 nginx 、nginx.8 及 ngx_modules.o,如果是升级 Nginx 可以将这些文件替换旧文件,如果是全新安装则执行:
make install
这样在之前配置的路径
/home/sanchan/nginx
中就可以看到 Nginx 相关文件了。sbin 为 Nginx 二进制执行文件目录
logs 为 Nginx 日志目录
conf 及 html 与下载的 Nginx 源码中目录是一致的
以上就完成了 Nginx 的编译工作
-
LINUX安装nginx详细步骤
2018-08-21 16:26:171.安装依赖包 //一键安装上面四个依赖 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel ...mkdir nginx cd nginx //下载tar包 wget http://nginx.org/download/nginx-1.13...1.安装依赖包
//一键安装上面四个依赖 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
2.下载并解压安装包
//创建一个文件夹 cd /usr/local mkdir nginx cd nginx //下载tar包 wget http://nginx.org/download/nginx-1.13.7.tar.gz tar -xvf nginx-1.13.7.tar.gz
3.安装nginx
//进入nginx目录 cd /usr/local/nginx //进入目录 cd nginx-1.13.7 //执行命令 ./configure //执行make命令 make //执行make install命令 make install
4.配置nginx.conf
# 打开配置文件 vi /usr/local/nginx/conf/nginx.conf
将端口号改成8089,因为可能apeache占用80端口,apeache端口尽量不要修改,我们选择修改nginx端口。
localhost修改为你服务器ip地址。
5.启动nginx
/usr/local/nginx/sbin/nginx -s reload
如果出现报错:nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed
则运行: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
再次启动即可!
查看nginx进程是否启动:
ps -ef | grep nginx
6.若想使用外部主机连接上虚拟机访问端口192.168.131.2,需要关闭虚拟机的防火墙:
centOS6及以前版本使用命令: systemctl stop iptables.service
centOS7关闭防火墙命令: systemctl stop firewalld.service
随后访问该ip即可看到nginx界面。
7.访问服务器ip查看(备注,由于我监听的仍是80端口,所以ip后面的端口号被省略)
安装完成一般常用命令
进入安装目录中,
命令: cd /usr/local/nginx/sbin
启动,关闭,重启,命令:
./nginx 启动
./nginx -s stop 关闭
./nginx -s reload 重启
-
修改 nginx 的默认端口
2018-05-08 17:03:37whereis nginx.conf 你可以这几个目录都看一遍,看看配置文件在哪里。我这边正确目录是 /etc/nginx 其次找到真正的配置文件 cd 到 /etc/nginx 目录下 打开一看,懵了,哪里有 listen 80 这一行呢? 不过...###首先找到配置文件在哪
whereis nginx.conf
你可以这几个目录都看一遍,看看配置文件在哪里。我这边正确目录是 /etc/nginx
###其次找到真正的配置文件
cd 到 /etc/nginx 目录下
打开一看,懵了,哪里有 listen 80 这一行呢?
不过别着急,listen 80 肯定是有的,只不过没在这里面放了。你看,不是有 include 文件吗?在那里面也说不定。
好,然后去看看 sites-enabled 文件夹下有什么
好吧,这个文件又指向了 site-available/default
default 文件一打开,嗯…没错是它了
不过养成好习惯,修改之前先备份
cp default default_backup 勘误: 这块应该是 cp default ../default_backup,不然 include 时候是这个目录下的 *,会把 backup 也当成配置文件
一般是把 80 改成 81,其实改别的也行。
接下来就是重启 nginx 。但是你会发现 nginx 访问不了,那是因为 81 端口没开放,可以参考我的另一篇博文 远程服务器之修改端口 -
nginx反向代理配置去除前缀
2019-01-07 00:13:28使用nginx做反向代理的时候,可以简单的直接把请求原封不动的转发给下一个服务。设置proxy_pass请求只会替换域名,如果要根据不同的url后缀来访问不同的服务,则需要通过如下方法: 方法一:加"/" server ... -
Nginx 原理和架构
2019-11-09 17:13:09Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动... -
nginx系列之一:nginx入门
2019-05-11 17:06:35一、nginx 功能介绍 Nginx因为它的稳定性、丰富的模块库、灵活的配置和低系统资源的消耗而闻名.业界一致认为它是Apache2.2+mod_proxy_balancer的轻量级代替者,不仅是因为响应静态页面的速度非常快,而且它的模块... -
CentOS 7 yum 安装 Nginx
2016-09-21 17:16:501.添加Nginx到YUM源 添加CentOS 7 Nginx yum资源库,打开终端,使用以下命令: sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 2.安装Nginx 在你的... -
nginx反向代理--负载均衡
2018-10-19 17:39:37Nginx配置详解 nginx概述 nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;nginx可以作为一个HTTP服务器进行网站的发布处理,另外nginx可以作为反向... -
nginx修改上传文件大小限制
2018-03-29 09:28:16自己搭的服务器,用nginx做代理。上传超过1M大的客户端文件无法正常上传,nginx直接报错,上传文件太大,于是修改了下nginx的配置,就可以了。 按照网上所说的加上client_max_body_size 字段,怎么重启nginx都不行... -
-
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
2019-10-09 15:53:47动静分离二、Nginx 的安装三、 Nginx 的常用命令和配置文件四、 Nginx 配置实例 1 反向代理五、 Nginx 配置实例 2 负载均衡六、 Nginx 配置实例 3 动静分离七、 Nginx 的高可用集群 前言 一、nginx简介... -
Nginx 安装 -ubuntu
2020-09-28 08:23:561、Nginx简介 Nginx是一个非常轻量级的HTTP服务器,发音为“engine X”,是一款轻量级的网页服务器、反向代理器以及电子邮件代理服务器。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置... -
nginx反向代理——将80端口请求转发到8080
2018-03-25 11:09:46先来理解一波概念,什么是nginx反向代理? 反向代理的意思是以代理服务器(这里也就是nginx)来接收网络上的请求,也就是url(默认是80端口), 1,nginx通过对url里面的一些判断(转达规则配置在nginx配置文件中)... -
Nginx出现403 forbidden
2018-08-10 12:23:43nginx访问时报403, 于是查看nginx日志,路径为/var/log/nginx/error.log。打开日志发现报错Permission denied,详细报错如下: 1. open() "/data/www/1.txt" failed (13: Permission denied), ... -
nginx开通https
2020-06-12 17:35:362、两个证书放在cert目录上然后放到nginx 与nginx.conf同目录下 3、去nginx解压目录下执行 ./configure --with-http_ssl_module 如果报错 ./configure: error: SSL modules require the OpenSSL library. 则执行 ... -
Linux下nginx的安装以及环境配置
2018-10-09 13:54:39linux下nginx的安装以及环境配置 刚好最近在处理服务器相关的工作,所以记录一下nginx的安装,ok,接下来直接开始操作! 第一步:下载nginx压缩包 在这里可以去nginx官网下载->点我下载nginx 也可以直接使用... -
利用nginx搭建RTMP视频点播、直播、HLS服务器
2016-03-09 23:48:32开发环境 Ubuntu 14.04 server ...nginx的服务器的搭建安装nginx的依赖库sudo apt-get update sudo apt-get install libpcre3 libpcre3-dev sudo apt-get install openssl libssl-dev配置并编译nginx 使用nginx的默 -
nginx安装使用教程详解,实战
2020-12-09 14:52:48新建本地挂载用目录,conf.d和logs目录,位置自己记住就好,如/app/nginx/conf.d和/app/nginx/logs 在conf.d下新建默认配置文件default.conf,并写入监听配置server { listen 80; server_name _; charset utf-8; ... -
卸载 nginx 彻底删除
2018-01-19 11:57:011.删除nginx,–purge包括配置文件 sudo apt-get --purge remove nginx 2.自动移除全部不使用的软件包 sudo apt-get autoremove 3.罗列出与nginx相关 -
分布式面试之nginx面试题
2020-10-07 23:51:16文章目录1、请解释一下什么是Nginx?2、请列举Nginx的一些特性。3、请解释Nginx如何处理HTTP请求。4、在Nginx中,如何使用未定义的服务器名称来阻止处理请求?5、使用“反向代理服务器”的优点是什么?6、请列举... -
Nginx 配置 HTTPS 完整过程
2018-11-26 10:06:061. nginx 的 ssl 模块安装 查看 nginx 是否安装 http_ssl_module 模块。...$ /usr/local/nginx/sbin/nginx -V  如果出现 configure ... -
【Nginx】什么是Nginx?为什么使用Nginx?
2017-06-12 20:17:13这个是我想问的,公司的新项目是要用Nginx+tomcat7+jdk开发的,用户命名可以直接访问tomcat,为啥还要用Nginx?这货是个啥玩意? 二、什么是Nginx? 在传统的Web项目中,并发量小,用户使用的少。所以在低并发的... -
nginx启动命令和停止命令
2019-06-27 10:48:14cd /usr/local/nginx/sbin/ ./nginx ./nginx -s stop ./nginx -s quit ./nginx -s reload ./nginx -s quit:此方式停止步骤是待nginx进程处理任务完毕进行停止。 ./nginx -s stop:此方式相当于先查出nginx进程id再... -
Nginx是什么?怎么用?(新手入门版)教程
2020-11-01 15:19:25一、Nginx介绍 1.1 引言 为什么要学习Nginx? 问题场景: 客户端到底要将请求发送至哪台服务器? 如果所有请求都发送到了服务器1,那么其他的服务器貌似都没什么用 服务器搭建集群后: 服务器搭建集群后,... -
Nginx反向代理——简单体验Nginx反向代理功能
2018-07-29 12:05:19从Nginx入门学习开始、到现在所讲的Nginx反向代理。我们的Nginx学习已经进入白热化状态,前面所学只是铺垫,真正在公司的业务场景中Nginx绝大数用来反向代理+负载均衡所用。相信大家在学习Nginx之前对反向代理和负载... -
【Nginx】nginx流量镜像
2019-12-17 11:16:23nginx流量镜像ngx_http_mirror_module 背景 nginx官网公布了nginx1.13.4最新的ngx_http_mirror_module模块,利用mirror模块,可以将...mirror模块配置分为两部分,源地址和镜像地址,配置位置可以为nginx配置文件... -
nginx完全卸载删除
2018-10-09 22:31:20nginx卸载 其实很简单,只需要两步即可完成! 第一步:输入以下指令全局查找nginx相关的文件: sudo find / -name nginx* 第二步:删除查找出来的所有nginx相关文件 sudo rm -rf file 此处跟查找出来的nginx文件 ... -
nginx学习:搭建静态资源服务器
2018-06-12 16:03:221.搭建静态资源服务器我电脑上的work文件夹下面有很多图片,我想通过nginx搭建静态资源服务器,通过在地址栏输入ip+port的方式完成目录的映射找到nginx安装目录,打开/conf/nginx.conf配置文件,添加一个虚拟主机 ... -
Nginx配置
2019-04-22 11:12:151.Web 服务器: 相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。能够支持高达 50,000 个并发连接数的响应,感谢 Nginx 为我们选择了 epoll ...
-
python unittest源码阅读
-
跟我练内测小分队学习礼包
-
gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz
-
剑指offer打卡-2
-
一键整合排序ts文件转换为MP4视频的python文件
-
Zhong Shi Ying Yu Zhi Jian (Bei - Ping Qia Mu.mobi
-
tornado异步协程
-
Java常用类
-
朱有鹏老师嵌入式linux核心课程2期介绍
-
MH5000-31p Ubuntu&Linux拨号上网测试.txt
-
从零开始的Java集合
-
JAVA实验.pdf
-
2021全网最详细【WEB前端】从零入门实战教程,全课程119节
-
torch.Tensor.is_leaf()的使用说明
-
Unity游戏开发之数字华容道
-
测试报告模板.doc
-
JavaEE框架(Maven+SSM)全程实战开发教程(源码+讲义)
-
通入放(一)——计算机网络入门
-
布局表格
-
电子信息工程专业认识实习报告.pdf