Nginx学习笔记(一)——Nginx的安装

参考了《精通Nginx(第二版)》、《Nginx错误日志(error_log)配置及信息详解 》、《Nginx 的配置系统》、《NGINX之三----nginx全局配置、性能优化及Nginx日志改为Json格式

1 Nginx的安装

1.1 使用包管理器安装

sudo apt install nginx # Debian Linux
sudo yum install nginx # RedHat Linux

安装以后,如果要查看nginx配置文件的路径,可以使用命令

nginx -t

该命令原本是用于查看nginx配置文件的格式和配置是否正确,但是在结果中能够找到对应的配置文件的路径,例如在我的电脑上会显示出:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

此外也可以通过命令:

nginx -V

通过查找里面的--conf-path这个配置信息,例如:

nginx version: nginx/1.18.0 (Ubuntu)
built with OpenSSL 1.1.1f  31 Mar 2020
TLS SNI support enabled
configure arguments: --with-cc-opt='-g -O2 -fdebug-prefix-map=/build/nginx-5J5hor/nginx-1.18.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fPIC' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/modules --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-compat --with-pcre-jit --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_v2_module --with-http_dav_module --with-http_slice_module --with-threads --with-http_addition_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_sub_module --with-http_xslt_module=dynamic --with-stream=dynamic --with-stream_ssl_module --with-mail=dynamic --with-mail_ssl_module

如果在nginx启动过程中,显示配置了nginx的配置文件的路径,则可以使用如下命令来查看加载的配置文件的位置:

ps -ef | grep nginx

1.2 从源代码安装

1.2.1 配置

使用源代码安装前,可以自定义很多参数。例如:可以使用参数./configure --prefix=<path>来指定Nginx安装的根路径,之后所有的路径,包括:sbin、conf等都会在上面指定的文件夹下。

这里记录一些在Ubuntu20.04环境下,当我们安装编译遇到的一些小问题,要解决这些问题除了关闭相应的功能外(就是利用--without-<功能>参数),就是安装对应的工具包

./configure --prefix=/home/<username>/nginx
  • the HTTP rewrite module requires the PCRE library. 使用命令:

     sudo apt install libpcre3 libpcre3-dev
    
  • the HTTP gzip module requires the zlib library

    sudo apt install zlib1g zlib1g-dev
    

configure以后,会在原目录中生成一些文件夹:

  • objs:存放中间文件

1.2.2 编译

好吧,我竟然没有想到,ubuntu中没有make命令,所以还是要安装一下make

sudo apt install make

之后,就可以使用make命令进行编译了。执行了之后,就会在刚才的objs生成编译好的二进制文件和一些中间文件。之所以要知道生成的二进制文件在哪里,是考虑到以后热部署的问题。!

1.2.3 安装

执行命令make install

附1 Nginx与Vim

在下载了Nginx的源码后,可以将contrib/vim/*下的所有文件拷贝到~/.vim/目录下,这样就能在用vim编辑nginx配置文件的时候,有更好的颜色搭配

cp -r contrib/vim/* ~/.vim/

附2 从源码编译安装Nginx

可以使用如下命令,来查看configure的选项:

./configure --help | more

推荐阅读更多精彩内容

  • 一、需要的组件 图片服务器两个服务: Nginx(图片访问): 1、http服务:可以使用nginx做静态资源服务...
    SkTj阅读 775评论 1 1
  • 内容简介此篇文章简单的介绍了什么是nginx以及nginx的简单使用,nginx现在使用非常的广泛,值得去了解学习...
    Little_Dragon_阅读 93评论 0 0
  • 本篇内容:概述,安装,常用命令,配置文件,demo 一、nginx概述 1.1 常用的web服务器 服务器介绍 W...
    莫须有的呓语阅读 53评论 0 0
  • 渐变的面目拼图要我怎么拼? 我是疲乏了还是投降了? 不是不允许自己坠落, 我没有滴水不进的保护膜。 就是害怕变得面...
    闷热当乘凉阅读 2,554评论 0 12
  • 感觉自己有点神经衰弱,总是觉得手机响了;屋外有人走过;每次妈妈不声不响的进房间突然跟我说话,我都会被吓得半死!一整...
    章鱼的拥抱阅读 870评论 2 4