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

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

如上图所示:系统也就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-fpm

yum 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 host
DocumentRoot "/opt/v3u"
ServerName v3u.cn:443
ServerAdmin you@example.com
ErrorLog "/opt/lampp/logs/error_log"
TransferLog "/opt/lampp/logs/access_log" # SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on SSLCertificateFile "证书目录"
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.0 CustomLog "/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就配置结束了,总体上没啥难度

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

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

在Centos7上将Apache(httpd)切换为Nginx的过程记录的更多相关文章

  1. openresty nginx 安装过程记录

    转载请注明原始地址 http://www.cnblogs.com/dongxiao-yang/p/4877799.html 一 :系统版本 1 cat /etc/issue: CentOS relea ...

  2. Nginx为什么比Apache Httpd高效:原理篇

    一.进程.线程? 进程是具有一定独立功能的,在计算机中已经运行的程序的实体.在早期系统中(如linux 2.4以前),进程是基本运作单位,在支持线程的系统中(如windows,linux2.6)中,线 ...

  3. Nginx为什么比Apache Httpd高效

    转载于:http://www.toxingwang.com/linux-unix/linux-basic/1712.html 一.进程.线程? 在回答nginx 为什么比apache更高效之前,必须要 ...

  4. centos7安装apache http server启动失败--Failed to start The Apache HTTP Server.

    centos7安装apache http server启动失败     除了nginx可以开启http服务外,apche http server也可以开启http服务,安装过程如下:1. 首先,检测是 ...

  5. zabbix-web切换为nginx及https

    目录 zabbix-web切换为nginx及https 1.背景和环境 2.安装nginx 2.1.编译参数 2.2.修改配置文件并配置https 2.3.配置nginx为系统服务 3.安装php 3 ...

  6. Centos7.3云服务器上安装Nginx、MySQL、JDK、Tomcat环境

    安装的软件路径建议放到/usr/local目录下 Tomcat 首先从最简单的Tomcat开始,进入到Apache的官网:http://www.apache.org,下载合适的版本来装,一般建议8.0 ...

  7. 2021最新WordPress安装教程(一):Centos7安装Apache

    一转眼2020年已经过去了,看网络上很多WordPress的安装教程都比较旧,有些写的不太详细,WordPress是站长最喜欢的一款建站系统,数据统计到2020年为止,WordPress在所有网站的市 ...

  8. Apache httpd和JBoss构建高可用集群环境

    1. 前言 集群是指把不同的服务器集中在一起,组成一个服务器集合,这个集合给客户端提供一个虚拟的平台,使客户端在不知道服务器集合结构的情况下对这一服务器集合进行部署应用.获取服务等操作.集群是企业应用 ...

  9. CentOS7安装 Apache HTTP 服务器

    CentOS7安装 Apache HTTP 服务器 时间:2015-05-02 00:45来源:linux.cn 作者:linux.cn 举报 点击:11457次 不管你因为什么原因使用服务器,大部分 ...

随机推荐

  1. 好客租房16-jsx中的列表渲染

    如果要渲染一组数组 应该使用数组的map方法 注意:渲染列表时候添加key属性 key属性的值要保持唯一 原则:map()遍历谁 就给谁添加key属性 尽量避免索引号作为key //导入react i ...

  2. 【freertos】008-内存管理

    前言 本章主要讲解内部存储空间(RAM)的管理. 详细分析heap5方案. 参考: 李柱明博客 https://freertos.blog.csdn.net/article/details/51606 ...

  3. 在vue中路径中的@

    1.在Vue的路径中@等于src 2.在css的路径中~@等于src

  4. SmartIDE v0.1.17 已经发布 - 模版库远程模式和插件市场公测

    SmartIDE v0.1.17 已经发布,本次同步更新了CLI (Build 3332) 的稳定版通道和Server (Build 3333) 生产环境(内测中).请参考对应的 安装说明 获取最新版 ...

  5. 借助SpotBugs将程序错误扼杀在摇篮中

    背景 最近一年多在一家toB业务的公司,部门主要做的是建筑行业的招投标业务信息化,希望借助软件来达到"阳光.降本.提效"的目的,我刚入职时大概30多家客户,截止现在已经超过100家 ...

  6. Vmware 10~16激活码/序列号 汇总

    Vmware 16 ZF3R0-FHED2-M80TY-8QYGC-NPKYF YF390-0HF8P-M81RQ-2DXQE-M2UT6 ZF71R-DMX85-08DQY-8YMNC-PPHV8 ...

  7. SpringBoot的浅浅配置和小整合

    SpringBoot的浅浅配置和小整合 本文如题,就是浅浅记录一下学习的过程中一些过程,比较简单,并没有多少深度.谢谢! SpringBoot创建 从IDEA中新建项目或者模块.注意jdk版本,一般不 ...

  8. Vue回炉重造之封装防刷新考试倒计时组件

    <!-- 考试倒计时组件 --> <template> <div class="time"> <p>00:{{timerCount2 ...

  9. bat-静默安装并配置mysql(windows版)

    mysql版本 mysql-5.6.35-winx64 路径关系 @echo off Setlocal enabledelayedexpansion @REM vscode中自动开启延迟环境变量扩展, ...

  10. Electron学习(三)之简单交互操作

    写在前面 最近一直在做批量测试工具的开发,打包的exe,执行也是一个黑乎乎的dos窗口,真的丑死了,总感觉没个界面,体验不好,所以就想尝试写桌面应用程序. 在技术选型时,Java窗体实现使用JavaF ...