centos 将Apache换为Nginx详细步骤

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











  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
是可以的。您可以通过在CentOS 8上安装ApacheNginx来实现此目的。首先,确保您的系统已启用EPEL存储库。然后,按照以下步骤进行操作: 1. 安装ApacheNginx 使用以下命令安装ApacheNginx: ``` sudo dnf install httpd nginx ``` 2. 配置Apache 默认情况下,Apache监听端口80。您可以通过编辑`/etc/httpd/conf/httpd.conf`文件来更改Apache的默认设置。找到以下行: ``` Listen 80 ``` 将其更改为: ``` Listen 127.0.0.1:8080 ``` 这将使Apache仅在本地侦听端口8080。 3. 配置Nginx 默认情况下,Nginx监听端口80。您可以通过编辑`/etc/nginx/nginx.conf`文件来更改Nginx的默认设置。找到以下行: ``` listen 80 default_server; ``` 将其更改为: ``` listen 127.0.0.1:8081 default_server; ``` 这将使Nginx仅在本地侦听端口8081。 4. 配置虚拟主机 现在,您需要为ApacheNginx分别配置虚拟主机。在Apache中,您可以通过编辑`/etc/httpd/conf.d/vhosts.conf`文件来添加虚拟主机。例如: ``` <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/html/apache ServerName apache.example.com ErrorLog logs/apache-error.log CustomLog logs/apache-access.log combined </VirtualHost> ``` 在Nginx中,您可以通过编辑`/etc/nginx/conf.d/vhosts.conf`文件来添加虚拟主机。例如: ``` server { listen 127.0.0.1:8081; server_name nginx.example.com; location / { root /var/www/html/nginx; index index.html; } } ``` 5. 启动ApacheNginx 使用以下命令启动ApacheNginx: ``` sudo systemctl start httpd sudo systemctl start nginx ``` 现在,您可以通过访问`http://127.0.0.1:8080`来访问Apache,并通过访问`http://127.0.0.1:8081`来访问Nginx

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值