Nginx(发音同engine x)是一个 Web服务器,也可以用作反向代理,负载平衡器和 HTTP缓存。本文主要介绍下nginx的使用方法,以及如何在一台服务器上配置多个域名和端口。
关于nginx的相关应用场景我们这里不做详细说明,介绍两个相关名词,常见用于搭建web服务器的两种架构:
- LNMP指的是:Linux + Nginx + MySQL + PHP这种网站服务器架构。
- LAMP指的是:Linux + Apache + MySQL + PHP(有时也是指Perl或Python)。
Nginx命令
- -?,-h :查看帮助
- -v :显示版本号
- -V : 显示版本号以及详细配置参数
- -t : 测试nginx配置文件是否正确,-t后可加具体文件路径,如若不加参数,可用此命令显示默认配置文件所在路径(/etc/nginx/nginx.conf)
- -s signal : 发送信号来控制程序,信号有: stop, quit, reopen, reload
nginx -s reload
:修改配置后重新加载生效nginx -s stop
:快速停止nginx,立刻退出nginx -s quit
:完整有序的停止nginx,完成已接受的连接请求再退出
- -p prefix :设置前缀路径 (default: /etc/nginx/)
- -c filename :设置配置文件 (默认: /etc/nginx/nginx.conf)
- -g directives :设置全局指令
配置文件
我们可以通过配置文件,来实现在一台服务器上配置多个域名或者端口,我们每配置一个server
,其实可理解为,就是将我们配置的路径(不同域名和端口)指向我们配置中的指定路径(服务器上的某文件夹),从而可以让客户端访问到此路径上的文件。默认解析当前路径下的index.html
作为呈现页面。
修改配置文件,加载所有子配置
nginx的总配置文件默认是/etc/nginx/nginx.conf
我们想加载开启多个服务配置,可用多个配置文件实现,每一个配置文件对应一个服务,我们先要在nginx.conf
中加载所有配置。
添加一新的子配置文件
每个sever
的配置单独对应conf.d
下的一个文件,以.conf
为后缀。默认有一个default.conf
我们可使用cp default.conf custom.conf
复制出一份配置,然后修改即可。下面我们看下默认配置:
|
|
我们只需要修改上述4处配置即可:
- listen:端口修改为非默认的80端口后,访问时需在域名后加
:port
来进行访问 - server_name:默认的
localhost
即代表本机,可通过本机ip
或指向此ip
的域名来访问,我们如果有多个指向服务器ip
的域名,可以通过配置此项,并且修改配置3
的路径,来达到多个域名分别做不同解析的目的。
最后需要记得执行nginx -s reload
重新加载配置。