本文已参与「新人创作礼」活动,一起开启掘金创作之路。
我想把vue打包后文件上传到linux服务器测试下,选择了Nginx进行部署。这里记录Nginx 在linux上的部署全流程。
Nginx是一个高性能的HTTP和反向代理服务器,特点占用内存少,并发能力强,网页服务器表现比较好。
Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载均衡,支持5w个并发连接数
一、查阅官方文档
无论什么时候,我觉得查阅官方文档都是最好用的方法。但是我跟着文档走了一遍,出了一些问题,感觉官方文档对我们初学者不太友好,所以查了很多博客总结了以下。
主要参考文章:(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
里面大概就是这个样子。
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
这个目录下的明细如下:
我们进入sbin那个绿色的shell文件就是我们的目标
开始启动
./nginx
通过 ps和netstat找到我们的端口是80(注意要在阿里云的安全组配置中开端口)
直接访问这个端口,成功!!!
5.4nginx控制命令
- 查看Nginx版本
./nginx -v
- 启动
./nginx
- 停止
./nginx -s stop 或 ./nginx -s quit
stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关的信息。
- 重新载入nginx
./nginx -s reload
当配置信息修改,需要重新载入这些配置时使用此命令。 5. 重新打开日志文件
./nginx -s reopen
- 测试配置文件
修改了配置文件后最好检查下修改过的配置文件是否正确,命令如下:
./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
- 命令帮助
./nginx -h 或 ./nginx -?