探索未知,记录点滴

LNMP环境下搭建WordPress站点

Spread the love

之前一直用lamp建站,也推荐给朋友和tg群的群友。但是在实际操作过程中发现了不少问题,以及操作的复杂性。于是在大佬的建议下想要尝试lnmp一键安装脚本,搭建像wordpress这样的博客网站。

过程进行的很顺利,基本没有坑,ssl证书也很好申请以及部署,不得不说Nginx大法实在是好。本期就来讲一讲我用lnmp建站的全过程以及应该注意的地方。

tg交流群:Newlearnerの水群

《LNMP环境下搭建WordPress站点》

准备工作

1、一台有公网ip,搭载linux系统的主机。本期教程使用1c1g的vps,搭载Centos7

(并不是说Windows不能建站,内网ip也不是不能用frp,请不要吹毛求疵)

系统需求:

  • CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin/Aliyun/Amazon/Mint Linux发行版
  • 需要5GB以上硬盘剩余空间,MySQL 5.7,MariaDB 10至少9GB剩余空间
  • 需要128MB以上内存(128MB小内存VPS,Xen需有SWAP,OpenVZ至少要有128MB以上的vSWAP或突发内存),注意小内存请勿使用64位系统!
  • 安装MySQL 5.65.7及MariaDB 10必须1G以上内存,更高版本至少要2G内存!
  • VPS或服务器必须已经联网且必须设置的是网络源不能是光盘源,同时VPS/服务器DNS要正常!
  • Linux下区分大小写,输入命令时请注意!
  • 如有通过yum或apt-get安装的MySQL/MariaDB请自行备份数据等相关文件!
  • CentOS 5,Debian 6及之前版本其官网已经结束支持无法使用!

2、打开lnmp官网:传送门(感谢军哥的一键脚本)

3、提前把域名解析到公网ip上

4、基本的linux基础(本篇教程不能解决睿智问题)

LNMP一键包是什么,好在哪里

请允许我直接引用官网:

  • LNMP一键安装包是什么?
LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Aliyun/Amazon、Debian/Ubuntu/Raspbian/Deepin/Mint Linux VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP)生产环境的Shell程序。
  • 我们为什么需要它?

编译安装需要输入大量的命令,如果是配置生产环境需要耗费大量的时间。
不会Linux的站长或Linux新手想使用Linux作为生产环境……

  • 它有什么优势和功能?

无需一个一个的输入命令,无需值守,编译安装优化编译参数,提高性能,解决不必要的软件间依赖,特别针对配置自动优化。

支持自定义Nginx、PHP编译参数及网站和数据库目录、支持生成LetseEcrypt证书、LNMP模式支持多PHP版本、支持单独安装Nginx/MySQL/MariaDB/Pureftpd服务器,同时提供一些实用的辅助工具如:虚拟主机管理、FTP用户管理、Nginx、MySQL/MariaDB、PHP的升级、常用缓存组件Redis/Xcache等的安装、重置MySQL root密码、502自动重启、日志切割、SSH防护DenyHosts/Fail2Ban、备份等许多实用脚本。

  • 我们为什么采用LNMP这种架构?

采用Linux、PHP、MySQL的优点我们不必多说。

Nginx是一个小巧而高效的Linux下的Web服务器软件,是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,已经在一些俄罗斯的大型网站上运行多年,目前很多国内外的门户网站、行业网站也都在是使用Nginx,相当的稳定。

Nginx相当的稳定、功能丰富、安装配置简单、低系统资源……

LNMP环境搭建

接着等待一段漫长的时间(可以去看个美剧或者来tg吹水),显示success就表明lnmp安装完成了。

安装好lnmp之后第一件事就是配置虚拟主机,再次提醒进入这一步之前务必将域名解析到ip

至此,我们搭建好了lnmp环境并为我们的网站配置了虚拟主机~

安装wordpress

我们可以去wp的中文官网直接下载安装包并且解压到/home/wwwroot/www.example.com文件夹里面

这个时候在浏览器地址栏输入你的域名,可以看见wordpress的配置界面了:

《LNMP环境下搭建WordPress站点》

《LNMP环境下搭建WordPress站点》

数据库名和密码是刚刚在虚拟主机中设置的,用户默认是root,数据库注意默认localhost(不行的话直接填ip)

《LNMP环境下搭建WordPress站点》

收尾

1、自动跳转为https

完成了wp的安装之后,我们输入自己的域名,但是发现默认还是显示http,这时候需要做一个301转发

2、图片等素材无法上传怎么办?

网站刚建好就迫不及待的写点什么了,但是发现图片竟然不能上传。这个时候,我们就要登录PHPMyAdmin修改一些数据库配置以达到上传的目的。

找到数据库表中的wp_options并点击,找到upload_path字段,将路径修改为“wp-content/uploads”即可。

《LNMP环境下搭建WordPress站点》

3、增加网站的安全性

SSL/TLS安全性评估网站:myssl.com

用lnmp一键脚本搭建好之后由于是自动申请ssl证书以及nginx配置,一般都能达到“A”评级,那么如何上“A+”评级呢?

  • 开启HSTS:

HSTS 是 HTTP Strict Transport Security (HTTP 严格安全传输)的缩写。开启了这项设置以后,大部分浏览器会强制性地使用 HTTPS 来请求资源,能够更加有效地保护网站和用户的数据安全。

一般情况(未启用 HSTS),浏览器会允许用户在了解了安全风险之后继续使用不安全的连接来访问,但如果启用了 HSTS,则不允许忽略。

HSTS 这个响应头只能用于 HTTPS 响应;网站必须使用默认的 443 端口;必须使用域名,不能是 IP。而且启用 HSTS 之后,一旦网站证书错误,用户无法选择忽略。(这意味着你需要及时给证书续命)

在nginx配置(location:/usr/local/nginx/conf/vhost/yourdomain.conf)中加上这个http头部信息:

  • max-age,单位是秒,用来告诉浏览器在指定时间内,这个网站必须通过 HTTPS 协议来访问。也就是对于这个网站的 HTTP 地址,浏览器需要先在本地替换为 HTTPS 之后再发送请求。
  • includeSubDomains ,可选参数,如果指定这个参数,表明这个网站所有子域名也必须通过 HTTPS 协议来访问。

《LNMP环境下搭建WordPress站点》


总体上手难度不高,全程脚本操作,很省心。Try it!

 

参考文章:lnmp一键安装官网 

                   全站开启 HSTS 

  1. Yours说道:

    还可以改一下nginx.conf中的网站默认目录,或者ip地址直接访问时设置跳转,要不然http://ip/phpmyadmin/就能访问数据库页面,被人爆破就不好了……

  2. 无名氏说道:

    我按照你的教程就安装wordpress,安装成功后,我登陆wordpress后台就502,这问题要怎么解决

    1. Newlearner365说道:

      可以参考 https://lnmp.org/faq/lnmp-Nginx-502-Bad-Gateway.html
      另外wp初始化的设置界面「数据库主机」填写“localhost”

  3. st_mos说道:

    您好,可以请问一下您在文章中插入代码是用的什么方法或者工具呢?感觉很漂亮~

    1. Newlearner365说道:

      目前是在用一款Wordpress的插件Crayon Syntax Highlighter实现代码高亮的,主题是COY。我个人觉得使用prismjs也是挺好的选择。

      1. st_mos说道:

        多谢! XD

发表评论

邮箱地址不会被公开。 必填项已用*标注

Recommended
众所周知因为国内网盘…