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多站点

centos 将Apache换为Nginx详细步骤的更多相关文章

  1. 关于h5中的fetch方法解读(小结)

    这篇文章主要介绍了关于h5中的fetch方法解读(小结),fetch身为H5中的一个新对象,他的诞生,是为了取代ajax的存在而出现,有兴趣的可以了解一下

  2. ios – 200在xcode 7中生成DSMM警告

    解决方法我有同样的问题.Facebook表示他们已经意识到这一点并且不是高优先级,因为它不会影响应用程序.我回退到4.7.1警告问题不再存在.我不认为它会被拒绝但不能确定.

  3. xamarin.ios – Facebook iOS SDK:应用程序在启动时找不到“找不到符号:_ACFacebookAppIdKey.”仅在iOS 5中崩溃

    解决方法这是一个已修复的knownbug.目前唯一已知的解决方法是使用较旧版本的FacebookSDK.

  4. osx – 无法创建目录/ var / teamsserver

    OpenSSH_6.2p2,OSSLShim0.9.8r8Dec2011debug1:Readingconfigurationdata/etc/ssh_configdebug1:/etc/ssh_configline20:Applyingoptionsfor*debug1:Connectingto1.2.3.4[1.2.3.4]portPORT.debug1:Connectionestablished.Couldnotcreatedirectory‘/var/teamsserver/.ssh’.debug

  5. ios – 如何在Xcode 4.5中完成代码签名

    解决方法事实证明,从AppStore升级XCode并不会自动升级所有内容.转到首选项/下载,并确保安装最新的命令行工具.

  6. xcode7 – 谁在创建文件“/private/var/tmp/Untitled-*.uicatalog”?

    我正在调查为什么TeamCity构建代理程序用完了磁盘,并且在/private/var/tmp中找到了超过11,000个文件,它们都以Untitled-.uicatalog行命名.每个文件至少0.6MB.总磁盘占用空间约为4GB.这些文件可以追溯到几个月,所以他们能够重新启动.谁在创造他们?Xcode在编译至少有一个图像的xcassets目录时创建这些目录.我可以删除它们吗?

  7. 如何在iOS 10上设置日志级别?

    换句话说,如果我在iOS上运行的代码就像这样:那么在Console.app中看到记录的消息需要做些什么呢?

  8. 为什么Xcode 8(iOS 10)在控制台中打印[LogMessageLogging]

    为什么Xcode8打印[LogMessageLogging]在控制台中,当我调用地图视图时?任何人都可以提出一些建议吗?解决方法PrivacyTheunifiedloggingsystemconsidersdynamicstringsandcomplexdynamicobjectstobeprivate,anddoesnotcollectthemautomatically.Toensuretheprivacyofusers,itisrecommendedthatlogmessagesconsiststri

  9. ios – Client.ipa不包含文件

    从过去的几天开始,我就把这头发错了.当我尝试提交基于cordova的iOS应用程序时,我收到一个错误,即符号工具失败.这就是我在日志中的内容:以下是尝试提交到应用商店时所述错误的屏幕截图:请帮忙.解决方法我有同样的错误,因为应用程序包中错误地包含了几个静态库(libXXX.a).它们显示在主.App下的最终上传确认框(列出权利和证书)中.我的解决方案是从项目中删除对这些静态库的所有引用,在链接器标

  10. IOs Cordova长按显示文本选择放大镜即使禁用文本选择,如何删除?

    是否有任何可能导致此问题的插件?任何帮助深表感谢.Cordova插件:>com.mbppower.camerapreview>cordova-plugin-statusbar>cordova-plugin-whitelist>离子插件键盘>org.apache.cordova.camera>org.apache.cordova.console>org.apache.cordova.device>org.apache.cordova.dialogs>org.apache.cordova.file>org.a

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部