开发者社区> 流楚丶格念> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Linux上Nginx的安装

简介: Linux上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.net/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.openssl.org/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://nginx.org/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
• 1
• 2


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


sudo /usr/local/nginx/sbin/nginx -s stop
• 1
• 2


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:访问日志,记录客户端连接服务器后一些访问信息


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Linux日记本_07:Nginx安装SSL证书并配置http转https
https 上次写过一篇Linux下Nginx的搭建文章,这篇是补充SSL证书的安装与http请求转换成https请求. SSL证书是什么? ssl证书 当你点击证书的时候已经给了很明确的说明 1.保证远程计算机的身份 2.向远程计算机证明你的身份 证书信息 如果你很熟悉Nginx的话,那么在Nginx下安装SSL证书将会是一件很简单的事情.当然证书的安装方式有很多种,需要根据系统和所使用的软件不同来下载相关的资源,这里我们就不在赘述,我们只关注Nginx下相关的就OK了。
1661 0
nginx php 配置
/************************************************************************************** * nginx php 配置 * 说明: * 配置一下nginx和php的开发环境,这个主要是为了将来运行的TI的Matrix GUI。
819 0
Nginx配置proxy_pass转发的/路径问题
Nginx配置proxy_pass转发的/路径问题 在nginx中配置proxy_pass时,如果是按照^~匹配路径时,要注意proxy_pass后的url最后的/,当加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走;如果没有/,则会把匹配的路径部分也给代理走。
1380 0
Linux 下配置nginx到php的连接
在中小企业中,LAMP架构被广泛使用。而对于高并发请求的情形,其Web服务器通常以Nginx居多,因此LNMP组合架构也非常普遍。
1264 0
Nginx虚拟主机配置
什么是虚拟主机 Nginx实现虚拟主机的三种方式 Nginx配置段 基于域名 基于IP 基于端口      什么是虚拟主机?     虚拟主机就是使用特殊的软硬件技术,把一台计算机主机分成多台“虚拟”的主机,每一台虚拟主机都具有独立的域名和IP地址(或共享的IP地址),具有完整的Internet服务器功能。
1205 0
配置nginx支持ssl服务器—HTTPS
下文摘自: http://docs.bigbluebutton.org/install/install.html     Configuring HTTPS on BigBlueButtonAnchor link for: configuring https on bigbluebutton ...
998 0
Tomcat+redis+nginx配置
为客户开发的一个绩效系统,采用了java web的开发方式,使用了一些spring mvc, mybatis之类的框架。相比于oracle ebs的二次开发,这种开发更加灵活,虽然和ebs集成的时候遇到一些问题,但是最后也都解决了。
923 0
+关注
流楚丶格念
csdn平台优质创作者,51cto TOP博主,360图书馆科技博主,燕山大学目前大三在读,日拱一卒,功不唐捐,加油!!!
1010
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载