这是我参与「第五届青训营 」伴学笔记创作活动的第 9 天 nginx是我们常用的一款高性能的Web服务器软件,同时也是一款反向代理服务器和负载均衡器。 在一般的发行版中,都可以直接使用包管理器轻松地安装nginx。比如,在Debian中,可以运行以下命令:
sudo apt-get update
sudo apt-get install nginx
特别的,有时候可能还需要更新一下其他软件,避免缺失依赖。
sudo apt upgrade
nginx 提供了一个简单默认的配置文件,位于/etc/nginx/nginx.conf。这个文件中包含了nginx的主要配置,比如监听的端口、日志文件的位置、配置文件的位置等。
它也提供了所谓的优雅关闭的功能。具体来说需要运行以下命令:
sudo nginx -s quit
这个命令会通知nginx优雅地关闭,即等待所有的请求处理完毕后再关闭。 如果想要立即关闭,可以使用以下命令:
sudo nginx -s stop
这个命令就不会等待请求处理完毕,而是立即关闭。
我们可以自己配置一个nginx的配置文件,然后让nginx使用这个配置文件运行,而不是使用默认的配置文件。
举一个简单的例子,假设我们有一个静态网站,位于/var/www/html目录下,那么我们可以创建一个配置文件,位置自己定义,文件内容如下:
server {
listen 80;
root /var/www/html;
}
他会监听80端口,然后将所有的请求都由/var/www/html目录下的文件来处理,是一个标准的静态文件服务器。
如果我们需要做一些简单的反向代理,比如说将请求转发到另一个服务器上,那么可以这样配置:
server {
listen 80;
location / {
proxy_pass http://somehost:port;
}
}
这样,所有的请求都会被转发到somehost的port端口上。
也可以细化一下,比如以/api开头的请求都转发到另一个服务器上:
server {
listen 80;
location /api {
proxy_pass http://somehost:port;
}
}
这样,所有以/api开头的请求都会被转发到somehost的port端口上。
其他的请求还是由nginx来处理,也可以看到那个经典的404页面。
如果我们要指定使用的配置文件,可以使用以下命令:
sudo nginx -c /path/to/nginx.conf
这样,nginx就会使用指定的配置文件来运行。
nginx的日志则位于/var/log/nginx目录下,其中access.log是访问日志,error.log是错误日志。
可以关注我们服务的访问情况,并做一些分析。