nginx介绍 - 部署到linux中
Posted Sniper_ZL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx介绍 - 部署到linux中相关的知识,希望对你有一定的参考价值。
前言:
tomcat理论并发处理能力, 大概500左右吧, 即使通过一些优化, 能提升一点, 但是, 并不能达到质变, 最多涨几百. 对于非互联网项目, 确实够用了. 在企业中, 如果要达到500并发量, 首先你得有超过500个人吧, 罒ω罒, 其次, 就算你超过500人, 同时访问的可能性还是很低的. 但是对于互联网项目, 500并发, 确实低了点.
如果想要提高并发量, 是不是可以换一个服务器, 或者说, 在tomcat集群前面, 加一个牛B的可接收高并发的服务器, 然后让这个服务器, 分配到集群中的tomcat中去, 让他当一回领导, 来分配工作任务给不同的tomcat. 就像这样:
如果有1200个并发, 对于单个tomcat来说, 出现超负荷工作的情况, 就可以大大避免. 以前要1打1200, 现在有了两个伙伴, 就可以3打1200了, 平均下来, 变成1打400了, 没问题的啊, 打得过, 是把. 1200并发, 对于nginx, 可以说是游刃有余, 因为他的并发处理能力, 能达到5w左右. 随着版本的更新, 这个是不是更高了, 那就不得而知了. 只能说, 更牛B了.
nginx 简介
一. 下载地址:
http://nginx.org/en/download.html
二. 安装
java服务器, 一般都选择linux, 所以, nginx我也装在linux环境中.
1. 环境准备
因为nginx是c语言写的, 所以, 要安装gcc环境
yum install gcc-c++
nginx的http模块使用pcre来解析正则表达式, so, 得装
yum install -y pcre pcre-devel
nginx使用zlib对http包的内容进行gzip, so, 得装
yum install -y zlib zlib-devel
nginx不仅支持http协议, 还支持https协议, so, 得装
yum install -y openssl openssl-devel
2. 安装
解压
tar -zxvf nginx-1.12.2.tar.gz -C /usr/java
看一下, 解压后的目录
创建文件夹
mkdir -p /var/temp/nginx
这个目录, 在一会configure命令执行的时候, 有用, 当然, 在执行完configure后, 再创建这个目录, 也是可以的.
configure 命令: (有点长, 不过没关系啊)
./configure \\ --prefix=/usr/local/nginx \\ --pid-path=/var/run/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
等到完成后, 继续执行
make install
执行完之后, 切换到 /usr/local/nginx 目录看一下
cd /usr/local/nginx
3. 启动nginx
在 /usr/local/nginx 目录下执行命令
sbin/nginx
这时候, 看到控制台没有任何消息显示, 仿佛没执行过一样, 这时候, 可以查询一下, 是否真的跑起来了
ps aux|grep nginx
发现这里有三条信息, 前两条是的, 第三条是执行ps命令出现的.
既然有启动, 那自然就有关闭了.
./nginx -s quit
执行此条命令需要在 sbin 目录中.
如果我在配置文件中, 加入了一台服务器配置信息, 这时候, 如果我要关闭nginx, 在打开nginx, 体验是不是感觉不太好啊, 有没有刷新的指令呢?
刷新指令来了:
./nginx -s reload
同样的, 此条命令, 需要在sbin目录中执行.
问题: 非得到sbin中去执行才行么, 我安装之后, 时间久了, 忘记目录在哪里了, 咋搞? 那个小笨笨记着么?
不需要这么做的. 可以使用 whereis 命令, 进行查找就行了
直接拿到路径, cd进去, 就行了
三. 配置nginx开机启动
切换到/lib/systemd/system/目录,创建并编辑nginx.service文件
vim /lib/systemd/system/nginx.service
在文件中拷贝以下内容
[Unit] Description=nginx After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s quit PrivateTmp=true [Install] WantedBy=multi-user.target
退出并保存文件,执行systemctl enable nginx.service使nginx开机启动
systemctl stop nginx.service 结束nginx
systemctl start nginx.service 启动nginx
systemctl restart nginx.service 重启nginx
四. 验证
跑起来之后, 有没有办法, 来直观的验证一下, 是否真的跑起来了?
由于linux, 我跑的虚拟机, 所以, 我在windows下, 使用谷歌浏览器, 直接输入linux的ip, 看看
这下很直观了吧.
那我想问一下, 这个现实的内容, 应该是个html文件吧, 这个html文件在哪里呢? 又是在哪里配置的呢?
以上是关于nginx介绍 - 部署到linux中的主要内容,如果未能解决你的问题,请参考以下文章