nginx网站基本配置过程

Apache优点:

Apache的兼容性和稳定性都是非常强

Apache 的模块比 Nginx/Lighttpd丰富

Apache在处理动态请求比Nginx/Lighttpd更有优势

缺点:

属于重量级web服务器(重量级主要是在软件包的大小上比较大,软件的耦合度大)

在速度、性能不及其他轻量级web服务器,并且消费内存较高。使用传统的select模型,比较稳定的Prefork模式为多进程模式,需要经常派生子进程。所以消耗的cpu等服务器资源比较大。

Nginx优点:

轻量级,比apache 占用更少的内存及资源

抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型,在高并发下nginx 能保持低资源低消耗高性能

高度模块化的设计,编写模块相对简单

有Lighttpd的性能,且更稳定,没有其内存泄露问题;

处理静态文件,索引文件以及自动索引,打开文件描述符缓冲。

缺点:

nginx处理动态请求是鸡肋,不如Apache;

建议方案:

Apache 后台服务器(主要处理php及一些动态请求);Nginx  前端服务器(高并发请求、静态资源、负载均衡、反向代理和前端Cache等)。

环境:

一台私网管理机ip:192.168.1.11  一台服务器私网ip:192.168.1.11 公网ip:202.106.0.1  一台公网客户ip:202.106.0.20

需求:

1:公网客户可以访问公司主页www.sw.com和bbs.sw.com

2:内网管理机可以用密码通过ip或者端口登录网站后台m.sw.com

实现步骤:

1:服务器上安装nginx源码包程序,设置为开机启动,备份主配置文件

[[email protected] ~]# useradd  -M -s /sbin/nologin nginx                //添加系统用户nginx,无家目录和禁止登录

[[email protected] ~]#yum -y install gcc gcc-c++ make pcrc-devel openssl-devel   //安装编译环境开发包

[[email protected] ~]#mkdir /nginx                                                    //创建存放文件夹

[[email protected] nginx-0.8.55]# ./configure --prefix=/nginx \        //转换源码,指定安装目录

>--user=nginx --group=nginx                                                  //指定进程属主,属组

>--with-http_stub_status_module --with-http_ssl_module;    //加载查看状态模块,ssl模块

[[email protected] nginx-0.8.55]# make  && make install                //编译安装

[[email protected] ~]# vim /etc/rc.local                  //添加到开机启动脚本

/nginx/sbin/nginx

[[email protected] ~]# cp -p /nginx/conf/{nginx.conf,nginx.conf.bak}  //备份主配置文件

2:配置主配置文件,重启服务

[[email protected] ~]# vim /nginx/conf/nginx.conf

...  
3 worker_processes  1;                    //进程个数,建议和cpu核数相同
...
12 events {
13     worker_connections  1024;    //每进程并发连接数
14 }
...
17 http {
...
118     server {
119         listen      202.106.0.1:80;                           //监听公网80端口
120         server_name  www.sw.com;                          //虚拟主机www.sw.com
121         location / {
122            root   /nginx/html/www;       //之前先手动创建首页存放目录/nginx/html/www
123            index  index.html index.htm;
124       }
125     } 
126     server {
127         listen      202.106.0.1:80;
128         server_name  bbs.sw.com;                          //虚拟主机bbs.sw.com
129         location / { 
130             root   /nginx/html//bbs;     //之前先手动创建首页存放目录/nginx/html/bbs
131            index  index.html index.htm;
132       }
133     }
134     server {
135         listen      192.168.1.11:8080;        //监听内网192.168.1.11:8080
136         server_name  m.sw.com;                     //后台虚拟主机m.sw.com
137         location / {
138             root   /nginx/html//m;     //之前先手动创建首页存放目录/nginx/html/m
139            index  index.html index.htm;
140            allow 192.168.1.111;              //只允许内网192.168.1.111访问网页后台
141            deny all;                                     //拒绝其他所有
142            auth_basic "请输入用户名密码";                //弹出用户认证时的提示信息
143            auth_basic_user_file /nginx/user.pw;           //指定用户认证文件
144       }
145     }
146 }

[[email protected] ~]#/nginx/sbin/nginx -s stop                          //停止服务

[[email protected] ~]#/nginx/sbin/nginx                                     //启动服务

[[email protected] ~]#htpasswd -c /nginx/user.pw  sw               //创建用户名密码文件(如此命令没有就安装httpd包)

附:平滑升级nginx

1:转换源码,编译

[[email protected] nginx-1.0.5]# ./configure --prefix=/nginx --user=nginx --group=nginx \

>--with-http_stub_status_module --with-http_ssl_module;             //转换源码,要和低版本参数相同

[[email protected] nginx-1.0.5]# make

2:替换低版本启动脚本

[[email protected] nginx-1.0.5]#mv /nginx/sbin/{nginx,nginx8.55}

[[email protected] nginx-1.0.5]#cp -p objs/nginx /nginx/sbin

3:平滑升级

[[email protected] nginx-1.0.5]# make upgrade                                       //从容结束旧版本进程,替换为新版本

时间: 2024-10-11 14:17:31

nginx网站基本配置过程的相关文章

nginx网站日志配置

用yum安装的nginx的日志默认安装在路径:/var/log/nginx nginx配置文件:/etc/nginx/nginx.conf (总配置文件)/etc/nginx/conf.d/default.conf (网站级别的配置文件) 如果要使用nginx默认配置的日志格式,并改变日志的存储位置,可以在/etc/nginx/conf.d/default.conf 的server中直接添加日志文件的路径:access_log /root/ss/log/ss-access.logerror_lo

centos nginx 多端口配置过程记录

1. 编辑 /usr/local/nginx/vhosts/  在此目录下增加一文件,如;ci.ainux.com,或复制一个文件 修改其中的端口和目录,更改log_format 名称 重启nginx:/usr/local/nginx/sbin/nginx -s reload 2. 注意防火墙:增加其它开通的端口: 编辑/etc/sysconfig/iptables文件.我们实例中要打开8080端口和9990端口   保存后重启:service iptables restart; 最后再查看下:

nginx反向代理配置过程

反向代理从传输上分可以分为2种:同步模式(apache-mod_proxy和squid)    异步模式(lighttpd 和 nginx) 同步传输:浏览器发起请求,而后请求会立刻被转到后台,于是在浏览器和后台之间就建立了一个通道.在请求发起直到请求完成,这条通道都是一直存在的.异步传输:浏览器发起请求,请求不会立刻转到后台,而是将请求数据(header)先收到nginx上,然后nginx再把这个请求发到后端,后端处理完之后把数据返回到nginx上,nginx将数据流发到浏览器,这点和ligh

Nginx实现集群的负载均衡配置过程详解

Nginx实现集群的负载均衡配置过程详解 Nginx 的负载均衡功能,其实实际上和 nginx 的代理是同一个功能,只是把代理一台机器改为多台机器而已. Nginx 的负载均衡和 lvs 相比,nginx属于更高级的应用层,不牵扯到 ip 和内核的修改,它只是单纯地把用户的请求转发到后面的机器上.这就意味着,后端的 RS 不需要配置公网. 一.实验环境 Nginx 调度器 (public 172.16.254.200 privite 192.168.0.48)RS1只有内网IP (192.168

网站安全配置(Nginx)防止网站被攻击(包括使用了CDN加速之后的配置)

网站被攻击是一个永恒不变的话题,网站攻击的方式也是一个永恒不变的老套路.找几百个电脑(肉鸡),控制这些电脑同时访问你的网站,超过你网站的最大承载能力,然后你就瘫了.方法虽然老土,但却一直都很管用,就像怎么打败美帝国主义,最简单的方法就是 13 亿中国人都移民去美帝,吃他的.用他的.花他的,直接能让美帝破产,压根不需要用武力.土方法,自然解决这个问题的方法也土,就是设置一个海关,控制进入的人口数量,只要不让你进来太多人,你就吃不穷他. 网站也一样,只要控制能够进入的访问数量,你就攻击不了我. Ng

网站关于域名的配置过程

这个是搜索了N久之后,提炼出来的一段比较有用的信息.(最后还是没搞定,555555) 网站关于域名的配置过程 1.域名解析到服务器 2.服务器绑定域名到具体的文件夹 (这个文件夹 就是网站的 “根目录” 例如:域名绑定的文件夹是 g:/public_html/   那么浏览器访问 [域名/a.html]  就是 [g:/public_html/a.html ] 那么浏览器访问 [域名/wordpress/a.html]  就是 [g:/public_html/wordpress/a.html ]

Java+MyEclipse+Tomcat (一)配置过程及jsp网站开发入门

这些年免费帮同学或同学的朋友做过的毕设还是有一些了,我的博客基本都是基于我做过的项目相关的,而里面又有三分之一都是自己做的毕设或别人的毕设的做后感.毕设其中就包括MFC图像处理..Net安全软件.C#聊天软件字典软件.Android百度地图随手拍.php网站..Net图书管理系统等等.其实我回过头来想想啊!这些知识对我的帮助和提高还是非常大的,虽然比不上公司实际上线项目,但是帮帮同学对我挺好的,当然很大程度也是害了一些同学,但他们很多都从事了非软件相关的专业. 很显然,大部分的毕设都是基于XXX

Nginx 网站服务——虚拟主机配置

第1章 Nginx 网站服务 1.1 web网站服务介绍: 1.1.1 提供静态服务的软件 Apache:这是中小型Web服务的主流,Web服务器中的老大哥. Nginx:大型网站Web服务的主流,曾经Web服务器中的初生牛犊,现已长大. Nginx的分支Tengine(http://tengine.taobao.org/)目前也在飞速发展. Lighttpd:这是一个不温不火的优秀Web软件,社区不活跃,静态解析效率很高.在Nginx流行前,它是大并发静态业务的首选,国内百度贴吧.豆瓣等众多网

centos7下linux运行asp.net,c#网站搭建配置-mono+nginx

centos7下linux运行asp.net,c#网站搭建配置-mono+nginx 一.首先安装一些需要的软件包 首先更新CentOS上的软件包: yum –y update 安装一些需要的库: yum -y install gcc gcc-c++ bison pkgconfig glib2-devel gettext make libpng-devel libjpeg-devel libtiff-devel libexif-devel giflib-devel libX11-devel fr