Nginx 在linux上的部署全流程

491 阅读4分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

我想把vue打包后文件上传到linux服务器测试下,选择了Nginx进行部署。这里记录Nginx 在linux上的部署全流程。

Nginx是一个高性能的HTTP和反向代理服务器,特点占用内存少,并发能力强,网页服务器表现比较好。
Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载均衡,支持5w个并发连接数

一、查阅官方文档

nginx:Linux 软件包

无论什么时候,我觉得查阅官方文档都是最好用的方法。但是我跟着文档走了一遍,出了一些问题,感觉官方文档对我们初学者不太友好,所以查了很多博客总结了以下。

主要参考文章:(4条消息) Nginx安装与启动_今非昨的博客-CSDN博客

二、安装

1.安装gcc

安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:

yum install gcc-c++

2.安装PCRE

PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:

yum install -y pcre pcre-devel

3.安装zlib

zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。

yum install -y zlib zlib-devel

4.安装OpenSSL

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

nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。

yum install -y openssl openssl-devel

5.安装和启动nginx

5.1下载安装包

我们可以在windows上将文件下载好,通过远程工具传到centos的指定目录下,也可以通过wget命令在线下载。

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

下载完成对压缩包进行解压,解压完成后进入对应的文件夹。

tar -zxvf nginx-1.22.1.tar.gz -C ../app/
cd nginx-1.22.1

里面大概就是这个样子。

image.png

5.2配置文件并编译

可以直接选择执行configure这个shell文件进行配置定义

./configure

当然你也可以通过vi进入自定义些你想改的配置,以下是几个关键的配置:

./configure 
--prefix=/usr/local/nginx 
--conf-path=/usr/local/nginx/conf/nginx.conf 
--pid-path=/usr/local/nginx/conf/nginx.pid 
--lock-path=/var/lock/nginx.lock 
--error-log-path=/var/log/nginx/error.log 
--http-log-path=/var/log/nginx/access.log 
--with-http_gzip_static_module 
--http-client-body-temp-path=/var/temp/nginx/client 
--http-proxy-temp-path=/var/temp/nginx/proxy 
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi 
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi 
--http-scgi-temp-path=/var/temp/nginx/scgi

配置完成后进行编译

make&&make install

5.3启动nginx

我们配置里路径是/usr/local/nginx

所以直接进入/usr/local/nginx启动nginx

cd /usr/local/nginx

这个目录下的明细如下: image.png

我们进入sbin那个绿色的shell文件就是我们的目标

开始启动

./nginx

通过 ps和netstat找到我们的端口是80(注意要在阿里云的安全组配置中开端口) image.png

直接访问这个端口,成功!!! image.png

5.4nginx控制命令

  1. 查看Nginx版本
./nginx -v
  1. 启动
./nginx
  1. 停止
./nginx -s stop 或 ./nginx -s quit

stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关的信息。

  1. 重新载入nginx
./nginx -s reload

   当配置信息修改,需要重新载入这些配置时使用此命令。 5. 重新打开日志文件

./nginx -s reopen
  1. 测试配置文件

修改了配置文件后最好检查下修改过的配置文件是否正确,命令如下:

./nginx -t -c conf/default.conf

结果:nginx: the configuration file F:\nginx/conf/nginx.conf syntax is ok       nginx: configuration file F:\nginx/conf/nginx.conf test is successful

  1. 命令帮助
./nginx -h 或 ./nginx -?