ECS动手搭建Nginx

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 在ECS的centos7上搭建一个Nginx

一、准备

1. gcc

nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境

yum -y install gcc

2. pcre、pcre-devel

pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库。

总结来说,就是pcre是来正则表达式的

yum install -y pcre pcre-devel

3. zlib

zlib库用于对HTTP包的内容做gzip格式的压缩,如果我们在nginx.conf中配置了gzip on,并指定对于某些类型(content-type)的HTTP响应使用gzip来进行压缩以减少网络传输量,则在编译时就必须把zlib编译进Nginx。zlib-devel是二次开发所需要的库。

yum install -y zlib zlib-devel

4. openssl

如果服务器不只是要支持HTTP,还需要在更安全的SSL协议上传输HTTP,那么需要拥有OpenSSL。另外,如果我们想使用MD5、SHA1等散列函数,那么也需要安装它。

yum install -yopenssl openssl-devel

二、安装

1. 下载安装包

这里直接使用了stable version,http://nginx.org/en/download.html

使用的是1.20.2版本

image.png

wget http://nginx.org/download/nginx-1.20.2.tar.gz

其他版本的下载,https://nginx.org/download/

2. 解压

解压到当前目录

tar -zxvf nginx-1.20.2.tar.gz

3. 进行make

切换到解压出来的文件夹目录中,如

cd nginx-1.20.2
pwd
/root/nginx-1.20.2

执行下面三个命令

./configure 
makemake install

注意:

  1. 第一个./configure命令,如果是简单的安装,让nginx跑起来的话,直接./configure 是没有问题的。在后面配置https的时候是有坑的
  2. 后面的两个命令就是编译安装了

4. 启动

切换到nginx的默认安装目录下的sbin目录下

cd /usr/local/nginx/sbin
# 启动程序./nginx

使用ps查看启动的进程号

ps-ef|grep nginx

三、配置https

1. ssl证书准备

阿里云的ssl证书,一年可以有20张的免费额度。ssl证书控制台

image.png

2. 证书申请,绑定域名

image.png

选择证书申请,根据提示,一步步是申请接入即可

3. 下载证书

在状态这一列中,点击那个感叹号,会有一个下载按钮,会展示需要安装到的web服务器类型

image.png

这里选择的是nginx类型。旁边提示的帮助,就是帮助我们一步步的完成https的配置

image.png

4. 编辑配置文件nginx.conf

阿里云官方帮助文档

https://help.aliyun.com/document_detail/98728.html

5. 重新启动

在按照文章配置完成后,进行了重新启动。就有了下面的问题,

[emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx

ssl需要ngx_http_ssl_module 模块

查看是否开启ssl模块

/usr/local/nginx/sbin/nginx -V

正常开启之后在configure argument之后是有参数的,即下面红框中的

image.png

这也与前面./configure对应起来了,我们的确在后面没有加任何的参数


下面我们就要弥补这个问题了

  1. 找到从压缩文件加压出来的文件
  2. 执行命令
./configure --prefix=/usr/local/nginx --with-http_stub_status_module--with-http_ssl_modulemake# 注意不要执行make install了,这样会覆盖掉原先的安装的
  1. 备份原先的的nginx启动文件
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
  1. 将刚刚编译好的nginx覆盖掉原先的nginx,这个时候nginx需要停止
/usr/local/nginx/sbin/nginx -sstop# 停止不了的话ps-ef|grep nginx
kill-9 [pid]
cp ./objs/nginx /usr/local/nginx/sbin/
  1. 启动nginx
/usr/local/nginx/sbin/nginx
  1. 查看安装
/usr/local/nginx/sbin/nginx -V



相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3月前
|
存储 应用服务中间件 数据库
C++文件服务器项目—Nginx+FastDFS插件—5
C++文件服务器项目—Nginx+FastDFS插件—5
42 0
|
4月前
|
小程序 网络协议 应用服务中间件
nginx(二)服务器中配置超时时间的方法
访问超时这个事一般都是在nginx中配置的。 之前大脑发昏,一直研究PHP来着,后来发现,不行,PHP超时怎么配都不好用。 首先说一下配置的位置,是在每个域名的配置文件中配置的 我的域名配置文件如下:
238 0
|
9天前
|
应用服务中间件 Linux 开发工具
如何在阿里云服务器快速搭建部署Nginx环境
以下是内容的摘要: 本文档主要介绍了在阿里云上购买和配置服务器的步骤,包括注册阿里云账号、实名认证、选择和购买云服务器、配置安全组、使用Xshell和Xftp进行远程连接和文件传输,以及安装和配置Nginx服务器的过程。在完成这些步骤后,你将能够在服务器上部署和运行自己的网站或应用。
|
1月前
|
弹性计算 算法 应用服务中间件
倚天使用|Nginx性能高27%,性价比1.5倍,基于阿里云倚天ECS的Web server实践
倚天710构建的ECS产品,基于云原生独立物理核、大cache,结合CIPU新架构,倚天ECS在Nginx场景下,具备强大的性能优势。相对典型x86,Http长连接场景性能收益27%,开启gzip压缩时性能收益达到74%。 同时阿里云G8y实例售价比G7实例低23%,是Web Server最佳选择。
|
2月前
|
网络协议 Unix 应用服务中间件
如何进行 Nginx HTTPS服务器搭建
【2月更文挑战第6天】
64 0
|
2月前
|
负载均衡 JavaScript 应用服务中间件
强大的WEB服务器-Nginx
强大的WEB服务器-Nginx
30 0
|
2月前
|
Kubernetes 应用服务中间件 nginx
K8S Pod Sidecar 应用场景之一 - 加入 NGINX Sidecar 做反代和 web 服务器
K8S Pod Sidecar 应用场景之一 - 加入 NGINX Sidecar 做反代和 web 服务器
|
2月前
|
应用服务中间件 nginx
将树莓派转身为强大的Web服务器:使用Nginx和cpolar实现远程访问
安装 Nginx(发音为“engine-x”)可以将您的树莓派变成一个强大的 Web 服务器,可以用于托管网站或 Web 应用程序。相比其他 Web 服务器,Nginx 的内存占用率非常低,可以在树莓派等资源受限的设备上运行。同时结合cpolar 内网穿透工具即可实现远程访问。
|
3月前
|
负载均衡 Ubuntu 应用服务中间件
如何在Nginx上阻止特定IP地址的访问,以增强服务器的安全性
如何在Nginx上阻止特定IP地址的访问,以增强服务器的安全性
50 0
如何在Nginx上阻止特定IP地址的访问,以增强服务器的安全性
|
3月前
|
TensorFlow 算法框架/工具 数据安全/隐私保护
如何在云服务器使用docker快速部署jupyter web服务器(Nginx+docker+jupyter+tensorflow)
如何在云服务器使用docker快速部署jupyter web服务器(Nginx+docker+jupyter+tensorflow)
89 0