目录

一、安装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. Python常用6个技术网站汇总分享!
  2. MySQL中MyISAM引擎与InnoDB引擎性能简单测试
  3. vba oracle 01019,Oracle 客户端连接时报ORA-01019错误总结
  4. 走近分形与混沌(part11)--一个新概念、新理论的诞生往往伴随着新常数的出现
  5. 前端学习(3101):vue+element今日头条管理-react简介2
  6. linux中split函数用法,Linux csplit 命令用法详解-Linux命令大全(手册)
  7. 数据结构排序1-冒泡,选择,插入排序
  8. python写整数逆位运算_位运算
  9. hadoop 传感器数据_大数据时代Hadoop的本质,你有过认真了解吗?
  10. Ubuntu16.04_Anaconda_TensorFlow(CPU)_py2.7及conda相关操作
  11. SQLServer数据库写入操作时报错:not all arguments converted during string formatting 问题解决
  12. 惯性张量惯性矩惯性积、转动惯量、面积转动惯量、质量转动惯量
  13. 51单片机8位数码管计时器(汇编语言)
  14. IE主页遭篡改解决方法
  15. edp协议 netty_使用esp8266 arduino 通过EDP协议 将数据传递到onenet平台
  16. socat 端口转发
  17. 表白公式计算机,表白公式数学公式简单的方式
  18. L1-059 敲笨钟
  19. 2022秋招蚂蚁金服面试
  20. ikun(小黑子)必须知道的坤坤谐音梗

热门文章

  1. linux编译安装mysql 5.1_linux编译安装mysql5.1.x
  2. WebStorm 运行Rect Native 项目
  3. 微信小程序实时聊天之WebSocket
  4. 构建现代化的命令行工具
  5. Packagist / Composer 中国全量镜像
  6. 系统配置文件备份比较
  7. pap和chap交叉认证
  8. 第一篇文章,做个纪念
  9. iOS UIImageView 加载含有汉字的url处理方法
  10. Android定制:修改开机启动画面