目录

一、安装nginx

二、配置文件准备

2.1、进程运行用户

2.2、虚拟主机

2.3、重定向

三、迁移


庚子鼠年最后几天,贫僧发现了内存不足的问题,并在Apache2.4.x下proxy_module、proxy_fcgi_module结合PHP-FPM解决内存不足问题一文中阐述了解决方案。最近和几位开发朋友聊天,发现如果直接使用nginx,就不存在这个内存不足的问题。所以,研究了几天,决定从apache迁移到nginx。

一、安装nginx

在nginx的官网,有编译好的nginx版本,RHEL/CentOS发行版yum源地址https://nginx.org/en/linux_packages.html#RHEL-CentOS ,配置好了以后就可以安装了,目前的稳定版本是nginx-1.18.0。

To set up the yum repository, create the file named /etc/yum.repos.d/nginx.repo with the following contents:

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

二、配置文件准备

2.1、进程运行用户

nginx默认的进程运行用户是nginx。由于本站从apache迁移过来,之前文件系统所属用户、所属组是apache:apache。为了保证文件读写顺利,不引起不必要的麻烦,修改/etc/nginx/nginx.conf文件,用user指令指定进程运行用户。

Syntax: user user [group];

2.2、虚拟主机

根据官网https://www.nginx.com/resources/wiki/start/topics/recipes/wordpress/ 的描述应当这样配置wordpress建站。

首先,要安装php-fpm服务,php-fpm默认在127.0.0.1:9000端口提供服务,我们为php设置一个命名的upstream来抽象后端,这样做将来更改端口或添加更多的后端会很容易。

之后,我们为stackoperator.top设置虚拟主机配置。模板很全面,我们只需要修改三个部分即可。server_name来指定虚拟主机域名。root指定虚拟主机的文件路径。ssl相关选项指定证书、私钥、加密算法等,具体请参考各云服务商的建议值。

# Upstream to abstract backend connection(s) for php
upstream php {#server unix:/tmp/php-cgi.socket;server 127.0.0.1:9000;
}server {## https is working on this portlisten                      443 ssl;## Your website name goes here.server_name                 example.org www.example.org;## Your only path reference.root                        /your/website/root/absolute/path;## This should be in your http block and if it is, it's not needed here.index                       index.php;ssl_certificate             /absolute/path/to/your/certificate.crt;ssl_certificate_key         /absolute/path/to/your/certificate.key;ssl_session_timeout         5m;ssl_protocols               TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers                 ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;ssl_prefer_server_ciphers   on;location = /favicon.ico {log_not_found off;access_log off;}location = /robots.txt {allow all;location = /robots.txt {allow all;log_not_found off;access_log off;}location / {# This is cool because no php is touched for static content.# include the "?$args" part so non-default permalinks doesn't break when using query stringtry_files $uri $uri/ /index.php?$args;}location ~ \.php$ {#NOTE: You should have "cgi.fix_pathinfo = 0;" in php.iniinclude fastcgi_params;fastcgi_intercept_errors on;fastcgi_pass php;#The following parameter can be also included in fastcgi_params filefastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;}location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {expires max;log_not_found off;}
}

2.3、重定向

根据官网https://nginx.org/en/docs/http/converting_rewrite_rules.html ,应当配置一个监听80端口的http虚拟主机,用return 301进行重定向保证https。

This is a wrong, cumbersome, and ineffective way. The right way is to define a separate server for example.org:

server {listen       80;server_name  example.org;return       301 https://www.example.org$request_uri;
}server {listen       80;server_name  www.example.org;return       301 https://www.example.org$request_uri;
}

因此stackoperator.top的配置是酱紫的。

server {## rewrite http to httpslisten       80;server_name  stackoperator.top www.stackoperator.top;return       301 https://www.stackoperator.top$request_uri;
}

三、迁移

关闭apache服务,禁止开机启动。设置nginx开机启动,启动nginx服务。不要同时启动,否则端口冲突就好玩了。

systemctl stop httpd
systemctl disable httpd
systemctl enable nginx
systemctl start nginx

wordpress从apache迁移到nginx相关推荐

  1. Apache/Tomcat/JBOSS/Nginx区别

    2019独角兽企业重金招聘Python工程师标准>>> Apache/Tomcat/JBOSS/Nginx区别 博客分类: 中间件 先说Apache和Tomcat的区别: Apach ...

  2. Wordpress优化:网站用nginx前端缓存+Redis Cache缓存提速网站

    本问转载:https://www.src1024.com/xy/seo/31780.html 新手站长搭建网站一般为了省钱没去选择大厂的云服务器,而小厂的服务器虽然便宜,但是访问速度也很感人,同时如果 ...

  3. JavaScript实现Apache .htaccess 转化nginx生成器工具-toolfk程序员工具网

    2019独角兽企业重金招聘Python工程师标准>>> 本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装 ...

  4. apache重写规则转Nginx

    发现在线一个apache规则转Nginx规则的网站,我们可以直接复制.htaccess中的内容转换为Nginx的,有需要的朋友可以试试. 网址:http://www.anilcetin.com/con ...

  5. 2019年最吸引攻击炮火的 Web 框架:WordPress 和 Apache Struts

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 概要 漏洞风险管理公司 RiskSense 刚刚发布关于顶级 Web 和应用框架漏洞的报告指出,2019年的框架漏洞总量下降但武器化率 ...

  6. WordPress搬家插件迁移网站的方法(从一台服务器搬到另一台服务器)

    使用 WordPress 搬家插件迁移网站 推荐使用 All-in-One WP Migration 搬家插件,直接打包全站数据一键迁移,非常方便. 1. 导出网站文件 登陆 WordPress 后台 ...

  7. 如何利用 Apache APISX 提升 Nginx 的可观测性

    ​ "可观测性"是一种度量手段,方便掌握基础设施.系统平台或者应用程序的运行状况.常见的手段是收集 metrics.logging 和 tracing 及 events 数据,可以 ...

  8. Wordpress整站迁移

    Wordpress整站迁移 Wordpress更新到今天已经相当完善了,只要注意PHP版本和MySQL版本和差一个大版本,迁移过程中不会出问题. 下面是将wordpress站点迁移到我们空间的步骤: ...

  9. WordPress程序伪静态规则(Nginx/Apache)及二级目录规则

    在众多CMS程序中,我们使用WORDPRESS还是比较多的,不仅仅是安全度较好,二来在于插件和主题很多,即便对于不会建站技术的用户也很简单的就可以搭建属于自己的网站项目.对于网站我们肯定是需要让有用户 ...

最新文章

  1. php+弱数据类型,PHP的弱数据类型
  2. Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)
  3. 国内外免费PHP开源建站程序
  4. win7任务栏还原为xp样式
  5. linux命令行中,双引号中的感叹号将被解释为历史命令
  6. Boost:can_require_concepr的使用测试程序
  7. web python selenium自动化面试题_干货分享 | Selenium 自动化测试相关的面试题
  8. 三角剖分求多边形面积的交 HDU3060
  9. McCabe度量方法计算程序复杂度
  10. 常见面试算法题汇总(Android面试)
  11. 2020年C语言编程软件,c语言编程软件-精易csharp编程助手下载2020.07 正式安装版_久友下载站...
  12. 物联网技术在智慧城市建设应用中的难点与疑点
  13. STM8开发环境搭建(STVD + COSMIC)
  14. pygame 画图练习
  15. 微信戴圣诞帽的一个简易实现程序
  16. 学习Vue3 第二十五章(TSX)
  17. 医学影像设备学_【技士/师证考试宝典】第四篇 医学影像设备学CR 11
  18. 【报告分享】2021小红书电商直播趋势报告-千瓜数据(附下载)
  19. 看完《三体》,我顿悟了5个最残酷的职场生存法则
  20. 数字化转型本质的10个关键词

热门文章

  1. java实现七日股票问题_七日打卡--JAVA资源限制
  2. 文字超过省略_从楚篆到楚玺的文字结构
  3. 项目的简单总结二--可拉伸的头视图
  4. 10个你必须知道的ios框架
  5. 小程序打开文档标题乱码处理
  6. iOS 验证码倒计时按钮
  7. Sap Byd Soap使用 SSL 客户端证书
  8. php7+的php-fpm参数配置,注意事项
  9. Python3基础笔记---面向对象
  10. 白盒测试实践-任务完成