纵有疾风起
人生不言弃

在Centos7上将Apache(httpd)切换为Nginx的过程记录

原文转载自「刘悦的技术博客」https://v3u.cn/a_id_129

近期要上线几个基于tornado+motor的移动端接口服务,众所周知,Apache和tornado天生八字不合,尤其apache对python3尤为的不友好,tornado和nginx才是木石前盟,另外由于apache目前系统占用确实比较高,不光进程数多,httpd竟然占用了200多M,太庞大,决定换为较轻量级,高并发的nginx。

在Centos7上将Apache(httpd)切换为Nginx的过程记录插图
image

如上图所示:系统也就2g ,除了mysql占用的100M, httpd 占了1/2 还多

首先由于apache和nginx默认都是监听80端口,所以首先要停止apache服务(为了保险起见,只是停止服务,不要卸载)

systemctl  stop httpd

第二步,安装nginx

#设置源sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm#安装yum install -y nginx#启动服务systemctl start nginx.service#开机自启systemctl enable nginx.service

由于机器上还有一些php服务,而nginx需要php-fpm的支持才能代理php,所以安装php-fpm

yum install php-fpmyum install php-mysql php-gd libjpeg\* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt开启php服务systemctl start php-fpm开机启动php服务systemctl enable php-fpm

然后将原来apache的服务配置翻译成nginx的,二者大同小异,值得一提的是,关于https服务,nginx配置要简单很多

apache配置:

<VirtualHost \_default\_:443>#   General setup for the virtual hostDocumentRoot "/opt/v3u"ServerName v3u.cn:443ServerAdmin you@example.comErrorLog "/opt/lampp/logs/error\_log"TransferLog "/opt/lampp/logs/access\_log"#   SSL Engine Switch:#   Enable/Disable SSL for this virtual host.SSLEngine onSSLCertificateFile "证书目录"SSLCertificateKeyFile "证书目录"SSLCertificateChainFile "证书目录"<FilesMatch ".(cgi|shtml|phtml|php)$">    SSLOptions +StdEnvVars</FilesMatch><Directory "/opt/lampp/cgi-bin">    SSLOptions +StdEnvVars</Directory>BrowserMatch "MSIE \[2-5\]"          nokeepalive ssl-unclean-shutdown          downgrade-1.0 force-response-1.0CustomLog "/opt/lampp/logs/ssl\_request\_log"           "%t %h %{SSL\_PROTOCOL}x %{SSL\_CIPHER}x "%r" %b"</VirtualHost> 

翻译为ngixn的配置:

server {        listen 443 ssl;        server\_name v3u.cn;        root /opt/v3u;location / {            index  index.html index.htm index.php;        rewrite ^/sitemap.xml$ /Index\_sitemap last;    rewrite ^/resume$ /Index\_resume last;    rewrite ^/search\_(.+?)$ /Index\_search\_text\_$1 last;    rewrite ^/a\_id\_(.+?)$ /Index\_a\_id\_$1 last;    rewrite ^/ls\_id\_(.+?)$ /Index\_ls\_id\_$1 last;    rewrite ^/l\_id\_(.+?)$ /Index\_l\_id\_$1 last;                  if (!-e $request\_filename) {   rewrite  ^(.\*)$  /index.php?s=$1  last;   break;    }        }        ssl\_certificate   证书目录;        ssl\_certificate\_key  证书目录;        location ~ .php(.\*)$ {                fastcgi\_pass   127.0.0.1:9000;                fastcgi\_index  index.php;                fastcgi\_param  SCRIPT\_FILENAME $document\_root$fastcgi\_script\_name;                fastcgi\_param PATH\_INFO $1;                include fastcgi\_params;        }}

修改好配置文件,重启nginx

systemctl restart nginx.service

最后别忘了将apache的开机自启关闭

systemctl disable httpd

ok,到此从apache迁移到nginx就配置结束了,总体上没啥难度

在Centos7上将Apache(httpd)切换为Nginx的过程记录插图1
image

由图上可知,应用了nginx之后,系统感觉清爽了很多,内存也节约了大约300多m,系统告别臃肿,轻装上阵。

原文转载自「刘悦的技术博客」 https://v3u.cn/a_id_129

文章转载于:https://www.jianshu.com/p/85ede50e8945

原著是一个有趣的人,若有侵权,请通知删除

未经允许不得转载:起风网 » 在Centos7上将Apache(httpd)切换为Nginx的过程记录
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录