centos 将Apache换为Nginx详细步骤,centosnginx


Nginx简介:

Nginx是一个高性能的HTTP服务器和反向代理服务器, 最大的优点是节省资源,适用于处理高并发的请求。

1. Nginx最初是按照反向代理设计的,和Apache不同, nginx关心如何处理url,而不是文件!

2. Apache 是个基于进程处理的web服务器,如果同时有多个请求,必须要启动多个进程来处理。 这样在高负载的情况下,资源的消耗和响应的速度都会有很大的问题。 而Nginx是个基于事件(event)的异步处理模式, 下面是Nginx的一个简单的示意图,有一个Master进程,Maste进程负责系统配置,管理socket,以及管理一个或是多个Worker进程。 而Worker进程接收和处理来自用户(浏览器)的请求。一般来讲,一个worker进程可以同时处理上千个用户的连接请求。每个worker进程采用异步的,基于event的方式来处理用户的请求。对于HTML的静态页面,Nginx会自行来处理,但对于PHP,JSP, Python等动态页面,Nginx是通过FastCGI(或者SCGI,UWSGI)来把动态页面的请求交给相应的处理程序来处理.

3.Nginx支持最多并发理数论值为50000 , Apache支持最多并发数理论值为300

#查看自己系统信息
#lsb_release -a

我的Linux配置信息:

LSB Version:    :core-4.1-amd64:core-4.1-noarch

Distributor ID: CentOS

Description:    CentOS Linux release 7.2.1511 (Core) 

Release:        7.2.1511

Codename:       Cor

详细步骤:

1:首先停掉apache,输入命令sudo service httpd stop  (以防万一,最好不好提前卸掉)

2.然后停掉Apache开启自启,输入命令chkconfig httpd off  (防止以前设置过开机自启) 

3:安装nginx,输入命令: yum install nginx  (推荐使用yum安装,省时省事)

4:启动nginx ,输入命令sudo nginx  (浏览器上输入 http://主机ip, 如果能出现nginx的测试页面 “Test page for the nginx http server on EPEL”就说明nginx已经正常运行了。重启nginx的命令  nginx -s quit )

5:添加php 支持,安装php-fpm,安装命令 yum install php-fpm (PHP-FPM (即PHP-FastCGI Process Manager) 是目前最常用的一个PHP FastCGI的实现。通俗的讲,这个模块在Nginx和PHP之间桥梁,使之可以互相通信和交换。 )

6:nginx设置多站点(我的nginx.conf在此/etc/nginx路径下)

我们假定这个主机上有两个网站,一个是aaa.com, 普通的PHP站点, 一个是bbb.com,为wordpress的博客。 我们就讨论一下在这种情况下,如何设置nginx.首先为站点建立相应的目录


mkdir -p  /var/www/aaa/html
 
mkdir -p /var/www/bbb/html
 
mkdir -p /var/log/nginx/aaa
 
mkdir -p /var/log/nginx/bbb
 
chown -R nginx:adm  /var/www/aaa/html
 
chown -R nginx:adm  /var/www/bbb/html
 
chown -R nginx:adm  /var/log/nginx/aaa
 
chown -R nginx:adm  /var/log/nginx/bbb


为两个网站分别设置虚拟目录(virtual directory)

为了保证整个配置更加清晰,我们尽量不修改主配置文件/etc/nginx/nginx.conf , 而是在在/etc/nginx/conf.d目录下建立两个文件,一个是aaa.conf, 一个是bbb.conf,同时要确认 /etc/nginx/nginx.conf此文件中 这句话没有被注释

include /etc/nginx/conf.d/*.conf;
再回到/var/log/nginx/aaa//var/log/nginx/bbb/

输入命令创建log文件 touch error.log access.log


===============================分割线=====================================

实现service nginx start

1、在/etc/init.d/目录下编写脚本,名为nginx
  nginx="/usr/local/nginx/sbin/nginx"                                                                       
  prog=$(basename $nginx)                                                                                   
  NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"                                                        
  [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx                                                     
  lockfile=/var/lock/subsys/nginx                                                                           
  start() {                                                                                                 
  [ -x $nginx ] || exit 5                                                                                   
  [ -f $NGINX_CONF_FILE ] || exit 6                                                                         
  echo -n $"Starting $prog: "                                                                               
  daemon $nginx -c $NGINX_CONF_FILE                                                                         
  retval=$?                                                                                                 
  echo                                                                                                      
  [ $retval -eq 0 ] && touch $lockfile                                                                      
  return $retval                                                                                            
  }                                                                                                         
  stop() {                                                                                                  
  echo -n $"Stopping $prog: "                                                                               
  killproc $prog -QUIT                                                                                      
  retval=$?                                                                                                 
  echo                                                                                                      
  [ $retval -eq 0 ] && rm -f $lockfile                                                                      
  return $retval                                                                                            
  killall -9 nginx                                                                                          
  }                                                                                                         
  restart() {                                                                                               
  configtest || return $?                                                                                   
  stop                                                                                                      
  sleep 1                                                                                                   
  start                                                                                                     
  }                                                                                                         
  reload() {                                                                                                
  configtest || return $?                                                                                   
  echo -n $"Reloading $prog: "                                                                              
"nginx" 95L, 2197C                                                                          50,1          27% 

    [root@example ~]# cp nginx /etc/init.d/
  [root@example ~]# chmod 755 /etc/init.d/nginx
  [root@example ~]# chkconfig --add nginx

  3、nginx启动、停止、无间断服务重启
  [root@example ~]# service nginx start
  [root@example ~]# service nginx stop
  [root@example ~]# service nginx reload


本文参考:https://www.androiddev.net/webserver-apache-to-nginx/

和https://segmentfault.com/a/1190000004011180 将Apache转为Nginx

 参考:http://www.jb51.net/article/27533.htm 配置Nginx多站点











相关内容

    暂无相关文章