fgdfg 发表于 2018-11-14 12:10:39

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源码包程序,设置为开机启动,备份主配置文件
  # useradd-M -s /sbin/nologin nginx                //添加系统用户nginx,无家目录和禁止登录
  #yum -y install gcc gcc-c++ make pcrc-devel openssl-devel   //安装编译环境开发包
  #mkdir /nginx                                                    //创建存放文件夹
  # ./configure --prefix=/nginx \      //转换源码,指定安装目录
  >--user=nginx --group=nginx                                                //指定进程属主,属组
  >--with-http_stub_status_module --with-http_ssl_module;    //加载查看状态模块,ssl模块
  # make&& make install                //编译安装
  # vim /etc/rc.local                  //添加到开机启动脚本
/nginx/sbin/nginx  # cp -p /nginx/conf/{nginx.conf,nginx.conf.bak}//备份主配置文件
  2:配置主配置文件,重启服务
  # vim /nginx/conf/nginx.conf
...  
3 worker_processes1;                  //进程个数,建议和cpu核数相同
  
...
  
12 events {
  
13   worker_connections1024;    //每进程并发连接数
  
14 }
  
...
  
17 http {
  
...
  
118   server {
  
119         listen      202.106.0.1:80;                           //监听公网80端口
  
120         server_namewww.sw.com;                        //虚拟主机www.sw.com
  
121         location / {
  
122            root   /nginx/html/www;       //之前先手动创建首页存放目录/nginx/html/www
  
123            indexindex.html index.htm;
  
124       }
  
125   }
  
126   server {
  
127         listen      202.106.0.1:80;
  
128         server_namebbs.sw.com;                        //虚拟主机bbs.sw.com
  
129         location / {
  
130             root   /nginx/html//bbs;   //之前先手动创建首页存放目录/nginx/html/bbs
  
131            indexindex.html index.htm;
  
132       }
  
133   }
  
134   server {
  
135         listen      192.168.1.11:8080;      //监听内网192.168.1.11:8080
  
136         server_namem.sw.com;                     //后台虚拟主机m.sw.com
  
137         location / {
  
138             root   /nginx/html//m;   //之前先手动创建首页存放目录/nginx/html/m
  
139            indexindex.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 }
  #/nginx/sbin/nginx -s stop                        //停止服务
  #/nginx/sbin/nginx                                     //启动服务
  #htpasswd -c /nginx/user.pwsw               //创建用户名密码文件(如此命令没有就安装httpd包)
  附:平滑升级nginx
  1:转换源码,编译
  # ./configure --prefix=/nginx --user=nginx --group=nginx \
  >--with-http_stub_status_module --with-http_ssl_module;             //转换源码,要和低版本参数相同
  # make
  2:替换低版本启动脚本
  #mv /nginx/sbin/{nginx,nginx8.55}
  #cp -p objs/nginx /nginx/sbin
  3:平滑升级
  # make upgrade                                       //从容结束旧版本进程,替换为新版本


页: [1]
查看完整版本: nginx网站基本配置过程