0. 前言你想过自己建一个网站吗?你想过把自己发表在各大网站的原创东西全部收集到一起展示吗?这些我想
WordPress建网站第2/3步LNMP安装与WP安装
你想过自己建一个网站吗?你想过把自己发表在各大网站的原创东西全部收集到一起展示吗?这些我想过,刚好在这个特殊时期,我就在网上找各种教程,以及请教朋友,终于建好了一个自己的网站。
你是不是以为建一个网站需要懂代码?是不是觉得投入需要很大,需要自己有机房?其实这些都不需要,只要你会使用软件,还会简单套模版就能建一个网站。看了许多教程,有容易的有难的,有花钱的有不花钱的,所以建网站,个人觉得分以下几种建站模式:代码模式、软件模式、金钱模式。代码模式最困难,就是自己从零开始学各种代码,然后白手搭建服务器,自己设计、美工、搭建网站等等;软件模式相对容易,就是利用建站软件搭建网站框架,用网站模版套用各种功能,这种也有学习成本;金钱模式最简单,你只要提需求,钱给到位,别人就能帮你建好。
我的网站唐之途:www.tangzhitu.cn
我的网站就是在软件模式下搭建成功的,下面就分享一下我的成功经验。因为内容比较多,加上为了叙述的足够直白,所以图文特别多,加上某些步骤是可以在某种情况下省略的,所以我把这个经验分成了三部分,命名为WordPress纯小白建网站。WordPress纯小白建网站系列是软件模式下的网站建立教程,基于阿里云ECS、Linux中的Debian、Nginx、PHP、MariaDB(MySQL的开源免费版)或者MySQL(MariaDB的收费版)、WordPress等建站运行,就是网络上流行的LNMP建站套装,具体内容分如下三部分:
我们搞定了服务器购买后就可以直接进行服务器部署,给服务器安装各种软件,以此保护服务器和搭建存储交互内容。一个能够交互的服务器需要有服务器软件、数据库管理系统软件、供用户和使用者查看或交互的内容。服务器软件让我们的服务器资源更高效运行处理数据;数据库管理系统方便我们建立、储存、管理、维护自己网站的内容;供用户和使用者查看或交互的内容就是我们自己想发表的东西,这些东西需要转换、编排成供用户阅读和交互的页面,所以还需要一个编排我们内容的软件。
服务器软件现今流行的是Apache和Nginx,阿里云服务器好像自带Apache,因为本教程基于Nginx,而且一台服务器只能有一个服务器软件,所以我们必须卸载Apache后装上Nginx。数据库管理系统软件免费好用的之前是MySQL,后来它收费了,不过却又将自己的免费开源版本命名为MariaDB,所以本教程数据库系统软件用的MariaDB。网站内容的编码现在好多网站和大公司用的都是PHP这种超文本预处理器,我查找的教程里面都是用的这个。本教程里面的核心软件WordPress是一个以PHP和MySQL为平台的自由开源的博客软件和内容管理系统。
另外,Linux系统的操作是通过shell类软件进行的,用一串串代码进行操作(别慌,用WordPress搭建网站设计的操作,后面教程都有,直接复制粘贴就可以用),不像我们一般用的Windows、安卓、iOS这种,直接就可以有桌面操作系统,所以还需要一款系统与服务器管理员交互的软件,这个我用的FinalShell。
Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAP、POP3、SMTP代理服务器;Nginx可以作为一个HTTP服务器进行网站的发布处理,另外Nginx可以作为反向代理进行负载均衡的实现。中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
MySQL在过去由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,因此被广泛地应用在Internet上的中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用。非常流行的开源软件组合LAMP中的“M”指的就是MySQL。MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。
PHP是一种被广泛应用的开源通用脚本语言,尤其适用于 Web 开发。拥有快速,灵活,实用的特点,PHP能做任何事,包括你的个人博客甚至是全球性的大型站点系统。
FinalShell是一体化的的服务器,网络管理软件,不仅是ssh客户端,还是功能强大的开发,运维工具,充分满足开发,运维需求。
WordPress是一个以PHP和MySQL为平台的自由开源的博客软件和内容管理系统。WordPress具有插件架构和模板系统。
前面说过,我选择了FinalShell作为与Debian交互的操作软件。我们先去官网(直达链接http://t.cn/RrhvcVI)下载FinalShell。版本选择上面,你自己的电脑是什么系统就选择什么版本,这个版本不是指网站服务器系统版本,而是指你用来远程控制服务器的电脑的系统版本。下载完成后直接双击安装就可以了,记得安装地址自定义一个,当然也可以默认地址安装。
FinalShell安装时注意选择安装地址
2.2.1用root账号连接服务器
软件安装好后,我们打开运行FinalShell软件,把弹出来的框直接X掉,然后点击左上角复制旁边的文件夹,在弹出来的连接管理器对话框里面选择左上角第一个白色有个加号的图标,然后选择SSH链接,按照要求填入内容,就可以远程登录服务器了。这里要说明的是,名称可以自定义,主机指的是服务器的公网IP,端口一般默认22就可以(要是不行,就去阿里云ECS控制台里面看看安全组和远程连接允许了哪些端口,一般22肯定没有问题),登陆用户名和密码就是阿里云服务器上面设置的服务器用户名和密码(一般没有额外设置,用户名就是root,root是Linux里面权限最大的账户,在本系列的1.1.3里面有介绍怎么重置密码)。
用FinalShell远程连接服务器
登录成功后会显示如下界面:
FinalShell远程连接服务器成功
2.2.2用非root账号登录服务器
其实用非root账号登录服务器流程跟root账号登录是一样的步骤,只是把账号密码换一下而已。重点是,我们新买的服务器一般只有root账号,所以要想用非root账号登录,我们就需要创建一个非root账号和密码。我们先用FinalShell登录root账号,登录成功后,输入双引号中的命令内容“adduser sammy ”(这句话的意思是增加用户sammy,所以我们要把sammy改成自己喜欢的名字),然后系统会让我们给新用户增加密码,输入自己喜欢的密码并确认后,还会问你输入其他信息,如果您愿意,可以选择填写任何其他信息,但是这不是必需的,您只需点击ENTER来跳过这些就可以了。就这样我们建好了一个非root账号。(Linux不会显示密码,连*表示密码都不会,所以你输入回车后,发现密码位置是空的,不要怀疑,继续下一步就好。)
重要提醒:所有输入的代码命令,不管是字母还是标点符号,都是英文半角。
服务器新用户设置
非root账号的建立,可以让我们减少root账号的使用,同时避免发生一些因为root账号带来的破坏性。不过,有时候我们进行的操作需要很高的权限,所以我们需要给我们新建立的非root账号,赋予一些管理员权限。
为了避免必须退出普通用户,并以root帐户身份重新登录,我们可以为普通帐户设置所谓的“超级用户”或root权限。这可以允许普通用户,通过在每个命令之前放置sudo单词,以此来运行具有管理权限的命令。为了将这些权限赋予给新用户,我们需要将新用户添加到sudo组。默认情况下,在Debian 9上,允许属于sudo组的用户使用该sudo命令。以root身份运行此命令usermod -aG sudo sammy,将新用户添加到sudo组(用你喜欢的用户名替换sammy)。现在,以普通用户身份登录后,您可以在命令之前键入sudo以执行具有超级用户权限的操作。
例如:Root账户可以用命令apt-get update直接做到管理员权利,而非root账户需要用sudo apt-get update才能达到同等效果。
2.2.3在服务器安装软件前的准备工作
我们登陆成功服务器后,就可以安装软件了,但是Linux安装软件跟Windows不一样。Windows我们直接在桌面上面双击安装包就可以安装软件,但是Linux因为是命令式的,我们没法直接双击安装。为此Linux有一个软件库,就像Apple store,我们只要运行相应的命令,就能够自动安装相应软件,不过在安装软件前,需要先刷新软件列表,获取软件库信息。
在“~#”后面输入:sudo apt-get update,以此刷新软件列表,输入后效果如下。
刷新软件列表
服务器自动跑代码后,会显示如下界面,表示刷新成功,然后就可以进入软件安装流程了。
软件列表刷新成功
在“~#”后面输入:sudo apt-get install nginx,以此让系统自动获取nginx并询问是否安装,页面如下。
询问是否安装Nginx
输入y,确认安装后出现如下界面表示安装成功。
Nginx安装完毕
也可以输入systemctl status nginx.service,监测nginx的系统状态,当出现以下内容中的绿色表示成功。
监测Nginx的系统状态
此时,在浏览器输入你的服务器的公网IP,就会出现nginx的欢迎页面(页面如下图),可以确认安装成功,否则失败。服务器的公网IP在阿里云ESC控制台可以获取查看,其实前面登录shell时就已经用到。同时,如果你的网站域名已经与服务器IP进行了解析绑定,那么此时输入域名也是这个画面。
Nginx安装成功后的欢迎页
但是,在国内开设的网站,需要备案,如果没有备案,阿里云提供域名注册服务的域名,会出现以下界面。
域名注册商提醒备案
MySQL现在开始收费了,免费开源版更为MariaDB了,本次部署以MariaDB为例,其实二者操作和命令基本上是一致的。输入命令:sudo apt-get install mariadb-server,运行后出现询问代码。输入Y,进行安装。
询问是否安装MariaDB
成功后出现以下界面:
MariaDB安装成功
可以输入systemctl status mariadb.service查询状态,运行后出现绿色表示成功。
MariaDB运行状态查询
此时不能自动出现输入光标指示,需要按Ctrl+C,中断程序:停止正在执行的程序,回到命令提示字符。
PHP的安装与Nginx、MariaDB不同,后两者直接用代码安装后就有所有组件了,但是PHP不行,PHP的各个功能模块都是分开的需要单独安装,就像安装办公软件Office,你可以选择只装Word,也可以选择Word、PPT、Excel等等都安装。另外,Linux可以在安装的时候叠加语句,所以,PHP的安装命令可以为:sudo apt-get install php7.3 php7.3-fpm php7.3-curl php7.3-gd php7.3-intl php7.3-mbstring php7.3-mysql php7.3-imap php7.3-opcache php7.3-sqlite3 php7.3-xml php7.3-xmlrpc php7.3-zip 。
安装PHP套装
输入上面的命令后,等待刷新,显示如下界面,表示没有安装成功。
PHP安装不成功显示
此时输入php –v,查询php版本信息,如下图会显示没有发现。
PHP版查询不到
当时我安装的时候,一顿奇怪,按教程做的怎么会安装不成功,然后各种搜索问题原因,最后尝试更新软件源、添加软件库,然后才安装成功。输入安装软件源拓展工具命令sudo apt -y install software-properties-common apt-transport-https lsb-release ca-certificates 后,会刷新代码流,显示如下面就是成功了。
安装软件源拓展工具
输入添加 GPG的命令,然后等待显示如下面的安装成功。
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://mirror.xtom.com.hk/sury/php/apt.gpg
添加GPG
添加 sury 软件源,并等待刷新成功。
sh -c 'echo "deb https://mirror.xtom.com.hk/sury/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
添加 sury 软件源
输入命令sudo apt-get update更新软件源缓存,显示如下页面,表示成功。
更新软件源缓存
重新安装 PHP7.3,再次运行下面语句,会得到如下的询问语句,输入y,继续。
sudo apt-get install php7.3 php7.3-fpm php7.3-curl php7.3-gd php7.3-intl php7.3-mbstring php7.3-mysql php7.3-imap php7.3-opcache php7.3-sqlite3 php7.3-xml php7.3-xmlrpc php7.3-zip
PHP安装询问
代码流刷完后,最后得到下图表示成功。
PHP7.3安装成功
不放心的话,可以输入php –v,查询php版本信息,即可确定安装php成功。确认安装好了,可以输入命令systemctl restart php7.3-fpm重启一下PHP。
查询PHP版本信息
WordPress安装有两种方式,为了尽量安全,我们最好从WordPress官网(中文官网cn.wordpress.org)或者服务器获取最新版本的WordPress。
WordPress第一种安装方式是使用命令,让服务器自动下载WordPress在服务器上面你喜欢的位置,然后解压到你想解压的位置。
我们先输入命令cd /tmp将下载位置设置在tmp这个文件夹里面.
然后运行curl -LO https://cn.wordpress.org/latest-zh_CN.zip将中文安装包下载下来。
解压缩WordPress压缩文件以创建WordPress目录结构:tar xzvf latest.tar.gz
然后,我们可以将解压缩在tmp文件夹的wordpress文件夹整个全部内容复制到我们指定的var/www/wordpress(表示在var文件夹下的www文件夹里面的wordpress文件夹,我们可以把wordpress文件夹名字改为自己喜欢的名字)目录中。我们使用-a标志来确保复制文件的权限跟源文件权限一样。我们在源目录的末尾使用一个点来表示复制目录中的所有内容,包括任何隐藏文件。另外,复制成功后我们可以删除tmp文件夹中的WordPress压缩包及解压缩后的文件夹。
具体命令为:sudo cp -a /tmp/wordpress/. /var/www/ wordpress
第二种方式是直接在服务器中下载安装文件,在服务器中解压到根目录下。先FinalShell操作面板的下部的文件里面找到var文件夹里面的www文件夹并打开(单击,一般会出现一个html文件夹)。然后等右边区域显示出www文件里面的文件后,选择点击历史旁边的向上的上传按钮,在弹出的对话框里面选择wordpress文件夹,确定上传就可以了。这里要说的是,一定要在最后弹出的路由追踪对话框里面,上下拉动右侧滑块,确定所有文件没有失败的。
WordPress上传
好了,经过以上的内容操作,我们就将建网站需要的软件都安装在服务器上面了,后面就是将服务器软件进行调试了,让各软件支持WordPress的运行,具体调试步骤请看以下篇章。另外,文中比喻可能有不形象的地方,以及部分语句解读可能不准确,请见谅,毕竟我也不是搞互联网出身的,只希望这篇文章能够对你建网站有帮助。
WordPress纯小白建网站第1/3步:服务器、域名、解析与备案
WordPress纯小白建网站第2/3步:Linux(Debian)+Nginx+MariaDB/MySQL+PHP安装部署与WordPress安装
WordPress纯小白建网站第3/3步:Linux(Debian)+Nginx+MariaDB/MySQL+PHP部署调整与WordPress启用建站