分享

Linux上Nginx的安装

 流楚丶格念 2022-01-14

Ubuntu上Nginx的安装和配置

1 使用Nginx的必备软件

如果要使用Nginx的常用功能,那么首先需要确保该操作系统上至少安装如下软件:

1.1 gcc、g++编译器

ubuntu平台在线安装指令:

sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install build-essential
sudo apt-get install libtool

centos平台在线安装指令:

yum -y install gcc automake autoconf libtool make
yum install gcc gcc-c++

1.2 PCRE库

PCRE(Perl Compatible Regular Expressions中文含义:perl语言兼容正则表达式)是一个用C语言编写的正则表达式函数库,由菲利普.海泽(Philip Hazel)编写。

PCRE是一个轻量级的函数库,比Boost之类的正则表达式库小得多。PCRE十分易用,同时功能也很强大,性能超过了POSIX正则表达式库和一些经典的正则表达式库。

因为在Nginx配置文件nginx.conf里使用了正则表达式,所以编译时必须把PCRE库编译进Nginx,因为Nginx的HTTP模块要靠它来解析正则表达式。

PCRE库源码包下载地址:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/

编译和安装PCRE库相关命令:

tar -zxvf pcre-8.39.tar.gz
cd pcre-8.39/
./configure
make
sudo make install

3 zlib库

zlib是提供数据压缩用的函式库,zlib能使用一个gzip数据头,zlib数据头或者不使用数据头压缩数据。

因为在Nginx配置文件nginx.conf配置了gzip on,并指定了某些类型(content-type)的HTTP响应使用gzip来进行压缩以减少网络传输量,所以编译时必须把zlib库编译进Nginx。

zlib 源码包下载地址:http:///zlib-1.2.8.tar.gz

编译和安装zlib库相关命令:

tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8/
./configure
make
sudo make install

1.4 OpenSSL开发库

OpenSSL 是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。

SSL是Secure Sockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。Netscape公司在推出第一个Web浏览器的同时,提出了SSL协议标准。其目标是保证两个应用间通信的保密性和可靠性,可在服务器端和用户端同时实现支持,已经成为Internet上保密通讯的工业标准。

OpenSSL源码包下载地址:https://www./source/

编译和安装OpenSSL开发库相关命令:

tar -zxvf openssl-1.0.1t.tar.gz
cd openssl-1.0.1t/
./config
make
sudo make install

2 Nginx的安装和启动

2.1 编译安装Nginx

Nginx源码包下载地址:http:///en/download.html

编译和安装Nginx相关命令:

tar -zxvf nginx-1.10.1.tar.gz
cd nginx-1.10.1/
./configure
make
sudo make install

报错:在make和sudo make install这步经常会报错,我在这报了两个错误,已修改完毕,给各位参考

https://blog.csdn.net/weixin_45525272/article/details/107794364

2.2 Nginx的启动和关闭

默认情况下,Nginx被安装在目录/usr/local/nginx中:

其中,其中Nginx的配置文件存放于conf/nginx.conf,bin文件是位于sbin目录下的nginx文件。

1)默认方式启动Nginx服务器

sudo /usr/local/nginx/nginx 

这时,会自动读取配置文件:/usr/local/nginx/conf/nginx.conf

打开浏览器访问此机器的IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已
经安装并运行成功:

2)指定配置文件启动服务器

sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

3)测试配置信息

sudo /usr/local/nginx/sbin/nginx -t

4)快速停止服务(不等待直接全部关闭)

sudo /usr/local/nginx/sbin/nginx -s stop

5)优雅停止服务(等待进程结束在关闭)

sudo /usr/local/nginx/sbin/nginx -s quit

快速停止服务和优雅停止服务的区别:

  • 当快速停止服务时,worker进程与master进程在收到信号立即退出进程。
  • 当优雅停止服务时,首先会关闭监听端口,停止接收新的连接,然后把当前正在处理的连接全部处理完,最后再退出进程。

简单粗暴的停止方法

可以直接发送QUIT信号给master进程来停止服务,其效果与执行-s quit命令时一样的:

sudo kill -s SIGQUIT pid_master

可以通过发送WINCH信号给worker进程来停止服务:

sudo kill -s SIGWINCH pid_worker

6)使运行中的Nginx重读配置项并生效

sudo /usr/local/nginx/sbin/nginx -s reload
或者 sudo kill -s SIGHUP pid_master

2.3 日志文件

默认情况下,Nginx日志文件存放目录:/usr/local/nginx/logs

  • error.log:错误日志,服务器启动出错时可以在此日志查找原因
  • access.log:访问日志,记录客户端连接服务器后一些访问信息

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多