概念

安装

apt-get install nginx # Ubuntu
yum install nginx -y # CentOS

配置文件

nginx -t # 检查配置文件正确性 test configuration and exit

主要文件位置

  • which nginx # or whereis nginx:查看主程序文件
  • /etc/init.d/:下创建了启动脚本nginx(需手动配置),支持service nginx start命令
  • /var/log/nginx:日志文件夹,/var/log/nginx/error.log:错误日志文件,/var/log/nginx/access.log:访问日志文件
  • /etc/nginx/nginx.conf:Nginx全局站点配置文件,日志文件可以在/etc/nginx/nginx.conf中配置,默认读取的配置文件
  • /etc/nginx/conf.d:自定义Nginx站点配置文件存放目录
  • /etc/nginx/conf.d/default.conf:网站默认站点配置
  • /usr/share/nginx/html:网站文件默认存放目录
  • sites-available:则是管理大量站点时服务器的一种通用配置。
  • sites-enabled:则是一种单独配置,需要使用enabled时,需要使用ln命令软连接到相应网站。
sudo ln -s ~/path/to/your/mysite/mysite_nginx.conf /etc/nginx/sites-enabled/

/etc/nginx/nginx.conf中有如下语句:

	include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;

可见,配置文件放在sites-avaliable文件夹中,需要创建软连接在sites-enabled中,才会生效。

server_name的作用其实是当该机器上同时部署了其他域名服务时起作用的。

如果nginx中只配置一个server域的话,则nginx是不会去进行server_name的匹配的。因为只有一个server域,也就是这有一个虚拟主机,那么肯定是发送到该nginx的所有请求均是要转发到这一个域的,即便做一次匹配也是没有用的。还不如干脆直接就省了。如果一个http域的server域有多个,nginx才会根据$hostname去匹配server_name进而把请求转发到匹配的server域中。此时的匹配会按照匹配的优先级进行,一旦匹配成功进不会再进行匹配

参考:

location接受两个参数,一个字符串或者正则,和一段代码。字符串用于匹配某个特定目录。

     location / {
autoindex on;
autoindex_exact_size off; # 默认是开,以b为单位,关闭后,会显示MB GB

注意点

nginx 默认的账号权限太低,没有部分文件的访问权限,导致访问时出现 403 Forbidden

配置文件 /etc/nginx/nginx.conf

user  nginx;

应该修改为:

user root;

Nginx运行

/usr/sbin/nginx -h # 查看帮助
/usr/sbin/nginx -c /etc/nginx/nginx.conf # 默认也会读取该配置文件,所以,可以不加-c参数
nginx # 运行/usr/sbin目录下的nginx的命令
nginx -s reload # 运行这句话的前提是,nginx正在运行,重载,如果之前运行了stop,那么会提示出错 "/run/nginx.pid" failed
service nginx start
service nginx status

FAQ

Q1:nginx: [error] open() "/usr/local/var/run/nginx.pid" failed (2: No such file or directory)

Q2:中文乱码

Nginx的server的配置内容,增加一行:charset utf-8;

Q3:权限问题导致Nginx 403 Forbidden错误的解决方法

参考

Nginx 安装及配置的更多相关文章

  1. 阿里云服务器Linux CentOS安装配置(八)nginx安装、配置、域名绑定

    阿里云服务器Linux CentOS安装配置(八)nginx安装.配置.域名绑定 1.安装nginx yum -y install nginx 2.启动nginx service nginx star ...

  2. ubuntu server nginx 安装与配置

    ubuntu server nginx 安装与配置 一:关于nginx http://wiki.ubuntu.org.cn/Nginx http://nginx.org/cn http://wiki. ...

  3. Nginx安装及配置详解【转】

    nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外 ...

  4. [转帖]Nginx安装及配置详解 From https://www.cnblogs.com/zhouxinfei/p/7862285.html

    Nginx安装及配置详解   nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP ...

  5. Linux中Nginx安装与配置详解

    转载自:http://www.linuxidc.com/Linux/2016-08/134110.htm Linux中Nginx安装与配置详解(CentOS-6.5:nginx-1.5.0). 1 N ...

  6. centos7系统下nginx安装并配置开机自启动操作

    准备工作 我的centos7系统是最小化安装的, 缺很多库, 首先安装必须的运行库 ? 1 2 3 4 5 6 7 8 9 10 11 yum install wget gcc gcc-c++ pcr ...

  7. linux nginx安装以及配置

    一.Nginx简介 Nginx (“engine x”) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由Igor Sysoev为俄罗斯访问量第二的R ...

  8. Nginx安装以及配置

    安装编译工具及库文件 1 yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel 安装 PCRE 下载 PC ...

  9. Nginx安装与配置-Centos7

    Nginx是一款高性能免费开源网页服务器,也可用于反向代理和负载均衡服务器.该软件由伊戈尔·赛索耶夫于2004年发布,2019年3月11日,Nginx被F5 Networks以6.7亿美元收购.201 ...

  10. LVS+Nginx(LVS + Keepalived + Nginx安装及配置)

    (也可以每个nginx都挂在上所有的应用服务器)  nginx大家都在用,估计也很熟悉了,在做负载均衡时很好用,安装简单.配置简单.相关材料也特别多. lvs是国内的章文嵩博士的大作,比nginx被广 ...

随机推荐

  1. jQuery-切换2

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. vue--监听属性完成大小写字母间的转换

    监听属性 watch侦听属性的作用是侦听某属性值的变化,从而做相应的操作,侦听属性是一个对象,它的键是要监听的对象或者变量,值一般是函数,当你侦听的元素发生变化时,需要执行的函数,这个函数有两个形参, ...

  3. 如何删除Sitecore CMS中的项目

    在此“如何”帖子中,我将介绍如何删除项目以及如何在Sitecore CMS中恢复已删除的项目. 删除项目 有多种方便的方法可以删除Sitecore中的项目. 从功能区 在内容树中选择您要删除的项目. ...

  4. TensorFire:WEB端的高性能神经网络框架

    TensorFire:WEB端的高性能神经网络框架 摘要: 近日,一种专门用于在网页内执行神经网络算法的JavaScript库——TensorFire引起了人们的关注,这种JavaScript库在浏览 ...

  5. Numpy 基本除法运算和模运算

    基本算术运算符+.-和*隐式关联着通用函数add.subtract和multiply 在数组的除法运算中涉及三个通用函数divide.true_divide和floor_division,以及两个对应 ...

  6. 源码下载:74个Android开发开源项目汇总

    1. ActionBarSherlock ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者就可以很方便地使用所 ...

  7. Symfony2 学习笔记之系统路由

    mfony2 学习笔记之系统路由   漂亮的URL绝对是一个严肃的web应用程序必须做到的,这种方式使index.php?article_id=57这类的丑陋URL被隐藏,由更受欢迎的像 /read/ ...

  8. [转载]oracle的常用函数 instr() 和substr()函数

    在Oracle中 可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符. 在一个字符串中查找指定的字符,返回被查找到的指定的字符的位置. 语法: instr(sourceString, ...

  9. GoldenGate 12.2抽取Oracle 12c多租户配置过程

    linux下安装12c 重启linux之后,dbca PDB/CDB使用 SQL> select instance_name from v$instance; INSTANCE_NAME --- ...

  10. 使用Wisdom RESTClient进行自动化测试,如何取消对返回的body内容的校验?对排除的JSON属性字段不做校验?

    使用 Wisdom RESTClient 进行自动化测试 REST API,默认是对返回HTTP状态码和body内容都进行严格匹配和校验. (1). 如果每次触发API返回的body内容是动态变化的, ...