-
Notifications
You must be signed in to change notification settings - Fork 3
Nginx
1StepEngineer edited this page Sep 30, 2018
·
16 revisions
- Nginx是一种服务器软件(服务器软件如:tomcat、Apache。Nginx是一款高性能的服务器软件。)
- 最主要,最基本的功能是:将程序放在Nginx服务器上,将程序发布出去让成千上万人浏览。发布网站
- 一种高性能HTTP和反向代理服务器
- 一个代理邮件服务器
- 负载均衡(同时N多用户访问,为了减少服务器压力,将用户分别引入各服务器,分担服务器压力)
服务器名称 | 特点 |
---|---|
IIS | 只能在windows上运行,windows服务器性能不如Linux |
Tomcat | 服务器面向java语言,是一种重量级服务器 |
Apache | 稳定、开源、跨平台。但不支持高并发 |
Nginx | 轻量级服务器,支持处理百万级的TCP连接,10万以上的并发连接,并且是很好的跨平台服务器 |
优点:实现高并发、部署简单、内存消耗少、成本低
缺点:rewrite功能不强大,模块没有Apache多
linux安装:经常报错的问题有缺少gc++,缺少pcre、zlib等库
cd /home/caojing/下载
tar -zxvf nginx-1.15.4.tar.gz
cd nginx-1.15.4
./configure
su
[root@test ~]# rm -f /var/run/yum.pid
[root@test nginx-1.15.4]# yum -y install pcre pcre-devel
[root@test nginx-1.15.4]# yum -y install zlib zlib-devel
[root@test nginx-1.15.4]# ./configure
[root@test nginx-1.15.4]# make
[root@test nginx-1.15.4]# make install
[root@test /]# cd /usr/local
[root@test local]# ls
bin etc games include lib lib64 libexec nginx sbin share src
//nginx启动
[root@test ~]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
//nginx配置文件修改
[root@test /]# cd /usr/local/nginx/conf
[root@test conf]# vim nginx.conf
user root;
server {
listen 8080;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /root/web/;
index index.html;
}
//nginx配置文件重启
[root@test conf]# /usr/local/nginx/sbin/nginx -s reload
正向代理
:自己计算机A访问不了网站B,通过中间服务器C可以访问B。服务器C称为代理服务器,并且为正向代理。明确知道自己访问的哪个网站。
反向代理
:当服务器集群中每台服务器内容一样,通过第三方服务器访问集群。但并不知道是哪台服务器提供内容。称为反向代理。
现象:当一台服务器单位时间内访问量越大,服务器压力也越大。当超过自身承受力时,服务器会崩溃。
解决:负载均衡分担服务器压力。建立N多服务器组成一个服务器集群,先访问我一个中间服务器,中间服务器在服务器集群中选择压力较小的服务器,然后将访问请求引入该服务器。最终保证服务器集群中的每个服务器压力趋于平衡,分担服务器压力。
[root@test conf]# touch fzjh.conf
[root@test conf]# vi fzjh.conf
[root@test conf]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/fzjh.conf
[root@test conf]# netstat -tunlp|grep 80
user root;
worker_processes 4; //进程数
events{
worker_connections 1024; //一次连接的ip数目
}
http{
upstream mypro {
server 111.13.100.92; //负载均衡的服务器地址
server 111.231.156.108;
}
server{
listen 8080;
location / {
proxy_pass http://mypro; //mypro要和upstream 名称对应
}
}
}