Nginx快速搭建和基本使用

2019年第 83 篇文章,总第 107 篇文章

最近在工作中项目需要上线,所以也了解到关于一些部署上线的知识内容,Nginx 就是其中一个知识点,主要是可以用它来进行负载均衡,本文的目录如下:

  • 简介

  • 安装配置

  • 基本使用

简介

关于Nginx,来自维基百科的介绍(https://zh.wikipedia.org/wiki/Nginx):

Nginx(发音同“engine X”)是异步框架的网页服务器,也可以用作反向代理、负载平衡器和 HTTP 缓存。

Nginx 使用异步事件驱动的方法来处理请求,相比于 Apache、lighttpd 具有占有内存少,稳定性高、并发服务能力强等优势,根据官方测试结果,可以支持五万个并行连接,而在实际的运作中,可以支持两万至四万个并行连接。


安装配置

安装gcc和gcc-c++

首先需要安装 gcc 和 gcc-c++,在centos下安装的命令:

yum install gcc gcc-c++

安装 PCRE 库

wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.33/pcre-8.33.tar.gz
tar -zxvf pcre-8.33.tar.gz
cd pcre-8.33
./configure
make && make install

安装 Perl 5

参考文章:https://blog.csdn.net/qq_20678155/article/details/68926562

// 下载安装包
wget http://www.cpan.org/src/5.0/perl-5.16.1.tar.gz// 解压源码包
tar -xzf perl-5.16.1.tar.gz// 进入源码目录
cd perl-5.16.1//自定义安装目录
./Configure -des -Dusethreads -Dprefix=/usr/local/perl// 下面这三个命令要依次都执行,这是在编译源码
make
make test
make install// 查看版本
perl -v

安装 openssl

wget http://www.openssl.org/source/openssl-1.0.1j.tar.gz
tar -zxvf openssl-1.0.1j.tar.gz
cd openssl-1.0.1j
./config
make && make install

安装 zlib

wget http://zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
./configure
make && make install

安装 nginx

# nginx
wget http://nginx.org/download/nginx-1.8.0.tar.gz
tar -zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0
./configure --prefix=/usr/local/nginx
make && make install

nginx 测试

/usr/local/nginx/sbin/nginx -t # 测试一下配置文件是否正确
/usr/local/nginx/sbin/nginx # 启动
curl -X GET localhost:80 # 出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功
# /usr/local/nginx/sbin/nginx –s reload
/usr/local/nginx/sbin/nginx –s stop

基本使用

常用命令

nginx -v # version info
rpm -ql nginx
nginx -Vsystemctl start/stop/status/restart/reload nginx
# reload, restart 都是重复服务,但 reload 并不需要关闭服务

配置

使用的话,需要修改在 /usr/local/nginx/conf文件夹的配置文件 nginx.conf 中下面的内容:

http {...upstream ip0 {server ip1:port1;server ip2:port2;...}server {listen port0;server_name ip0;...location / {proxy_pass ip0;}...}... 
}

这里是请求 ip0:port0 ,然后 nginx 会将请求转发到 ip1:port1, ip2:port2,... 上,也就是说,配置 nginx 的机器的ip就是 ip1,然后设置一个端口 port0,而 ip1,ip2 等则是运行服务的机器,由于 nginx 也是需要占用 cpu 的,所以建议单独用一台机器配置nginx,并且在配置文件中可以设置开启多进程,只需要修改 work_process 后的数字,通常设置为机器的cpu的核数量-1的数量。


欢迎关注我的微信公众号--算法猿的成长,或者扫描下方的二维码,大家一起交流,学习和进步!

如果觉得不错,在看、转发就是对小编的一个支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/408455.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

对于mysql的用户权限管理

转载链接:http://www.cnblogs.com/ymy124/archive/2012/05/23/2514196.html 1.新建用户 //登录MYSQL>mysql -u root -p>密码//创建用户mysql> insert into mysql.user(Host,User,Password) values(‘localhost’,jeecn’,password(‘jeecn’));//刷新系统权…

第二期周总结

第二期的周总结,这次学习的内容可能没有上次那么广泛,主要是因为这周我负责的模块需要测试并进行上线,所以主要学习了解的就是工程开发方面的内容,准确说是部署上线的内容,所以本周主要简单总结这次上线过程的一些内容…

react学习(12)-moment插件设置日期格式

<p>{moment(boothDetails.startTime).format(YYYY-MM-DD)}到{moment(boothDetails.endTime).format(YYYY-MM-DD)}</p>

AI知识点(1)--激活函数

2019年第 84 篇文章&#xff0c;总第 108 篇文章本文大约 5000 字&#xff0c;阅读大约需要 15 分钟AI知识点&#xff08;AI Knowledge&#xff09;系列第一篇文章--激活函数。本文主要的目录如下&#xff1a;激活函数的定义为什么需要激活函数常见的激活函数1. 激活函数的定义…

oracle分区

oracle 分区技术&#xff1a;使用分区技术&#xff0c;Oracle允许把一个大表分成几个部分&#xff0c;每部分叫一个分区&#xff0c;然后把每个部分放在不同的物理磁盘&#xff0c;以提高整个数据库的性能。分区技术的优点&#xff1a;1.分区技术使数据库的可管理性变得更加容易…

react学习(13)-moment中 isRangePicker 控制类型

<Col span{8} key{index}><Form.Item label{item.label} {...formItemLayout}>{getFieldDecorator(${item.paramsName}, {})(item.isRangePicker ? (<RangePickershowTime{item.showTime ? item.showTime : false}style{{ width: 100% }}allowClear/>) : (…

Linux 定时执行shell 脚本

2019年第 85 篇文章&#xff0c;总第 109 篇文章本文大约2000字&#xff0c;阅读大约需要6分钟crontab 可以在指定的时间执行一个shell脚本以及执行一系列 Linux 命令。定时执行shell 脚本简单给出执行 shell 脚本的步骤。首先是编写一个测试脚本--test.sh# 创建脚本 $ vim tes…

react学习(14)-getTime是对时间进行处理的方法

{name: data?.name,startTimeLong: new Date(data?.code[0]).getTime(),endTimeLong: new Date(data?.code[1]).getTime(),},() > {this.getFrameList();}

同余定理

http://www.cnblogs.com/zhixingqiezhixing/archive/2012/04/03/2430676.html http://blog.sina.com.cn/s/blog_6e223f1d0101bkry.html 转载于:https://www.cnblogs.com/thefirstfeeling/p/4410970.html

简单总结 2019 展望 2020

2019 总结整体回顾一下今年&#xff0c;一个完整的经济独立的一年&#xff0c;也是工作满一年&#xff0c;改变很多&#xff0c;虽然有进步&#xff0c;但还不够明显&#xff0c;依然存在的三分钟热度、拖延、执行力低下的问题。工作这一年做的还是同一个项目&#xff0c;不过具…

react学习(15)-getTime selectedRowKeys是this.props取值的

const rowSelection {selectedRowKeys,onChange: this.onSelectChange,};

RS(1)--10分钟了解什么是推荐系统

总第 110 篇文章&#xff0c;本文大约 3200 字&#xff0c;阅读大约需要 10 分钟2020 年第一篇技术文章&#xff0c;以一个新的系列开始--推荐系统&#xff08;Recommend System&#xff09;&#xff0c;第一篇文章会简单介绍推荐系统的定义和应用&#xff0c;目录如下&#xf…

当搭配遇上个性化推荐

总第 111 篇文章&#xff0c;本文大约 3000 字&#xff0c;阅读大约需要 10 分钟今天介绍的是一篇个性化搭配推荐的论文&#xff0c;是 2017 年时候的论文&#xff0c;这也是比较早的开始结合搭配和个性化推荐的一个工作&#xff0c;基于度量学习和排序学习的方法。论文题目&am…

清除浮动造成的影响的解决方案总结

1、将设置float的元素的父元素也设置float。 缺点&#xff1a;很有可能不符合情况要求 2、设置父元素的position为absolute&#xff0c;前提是父元素的父元素并没有设置position&#xff1a;relative。 缺点&#xff1a;很有可能不符合情况要求 3、设置父元素的overflow为hidde…

2020年周记(1/50)

总第 112 篇文章&#xff0c;本文大约 1200 字&#xff0c;阅读大约需要 3 分钟正如标题所言&#xff0c;希望 2020 年能写满 50 篇周记吧&#xff0c;刚好前两周没有发&#xff0c;所以希望接下来每周完成一篇。周记的内容主要是这几方面的内容&#xff1a;工作学习阅读&…

react学习(16)---getFieldDecorator赋值

<Row gutter{12}><Col span{12}><Form.Item label"名称">{getFieldDecorator(name, {rules: [{ required: true, message: 活动名称不能为空 }],})(<Input placeholder"请输入" />)}</Form.Item></Col></Row>

python版代码整洁之道

总第 113 篇文章&#xff0c;本文大约 8000 字&#xff0c;阅读大约需要 20 分钟原文&#xff1a;https://github.com/zedr/clean-code-pythonpython 版的代码整洁之道。目录如下所示&#xff1a;介绍变量函数1. 介绍软件工程的原则&#xff0c;来自 Robert C. Martins 的书--《…

react学习(17)----ant design格式化日期

<Row gutter{12}><Col span{12}><Form.Item label"活动结束时间">{getFieldDecorator(endTimeLong, {rules: [{ required: true, message: 活动结束时间不能为空 }],})(<DatePicker format"YYYY-MM-DD HH:mm:ss" />)}</Form.It…

MVC 3.0错误 HTTP 404您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用。请检查以下 URL 并确保其拼写正确。...

MVC3.0框架开发项目&#xff1a; 有时在程序运行的时候会出现“HTTP 404。您正在查找的资源(或者它的一个依赖项)可能已被移除&#xff0c;或其名称已更改&#xff0c;或暂时不可用。请检查以下 URL 并确保其拼写正确。”的错误提示。 在这里我们以运行时打开登录页面&#xff…