第一步:购买一个域名
例如我的域名就是:notan.top
域名注册建议选择Namesilo,性价比高(1-7美元不等),而且支持支付宝付款。
第二步:购买一个虚拟主机或者VPS
我用的是Linode的VPS,5美元/个,很便宜,性价比超高。这是我的推荐代码:8aa6592c1f5ce1bace202b2484ecc44753d04129
注册登录 Linode ,选择Create New Linode –>CentOS 7–>Asia–>SG–>Nanode,设置Root Password(建议用记事本记下来,很重要,后面要用到)
Create后,记录下 VPS 的ip地址:172.xxx.xxx.xx ,首先ping下这个IP是否能ping通,如果ping不通说明被墙了,重新申请个再把这个关掉就好了,不会扣钱。
第三步:域名解析
回到 Namesilo ,登录,点击 Manage My Domains 进入域名管理,在需要修改的域名后面点击 DNS解析选项Manage DNS for domain。
进入 DNS 解析页面后,会发现 Namesilo 已经帮你生成了 3 条 A 记录和 1条 CNAME 记录。四条都显示的 SERVICE 是 Parking。 先把这 4 条已存在的 Parking 的解析记录都删除掉。
然后点击上方的 Add/Edit a Resource Record 里的 A
点击之后会出来填写框。如上图。我们要创建两个 A 记录。一个是主域名的解析,一个是 www 域名的解析。
第一个 Hostname 留空(解析主域名的A记录。填 @,如果不行留空即可)。TTL 改成 3600。点击 SUBMIT。
第二个在Hostname 处填写 www,并在 IPV4 ADDRESS 那里还是输入 Linode 的 IP ,TTL 改成 3600。点击 SUBMIT。
以上操作完成以后大约需要 30分钟- 4小时左右起效果。
第四步:修改SSH默认端口
为了安全起见,我们首先需要把VPS的SSH默认端口改掉。
1、连接你的VPS
连接 VPS 服务器一般是选用 SSH 工具。SSH 是 Secure Shell 的缩写,是一种加密的远程连接对话的方案。相比虚拟主机上常用的 FTP,以及传统的 Telnet 远程连接方式,它更加安全。
工具:Xshell4 + Xftp4,(Xshell5 已出,请去官网下载。官网地址:www.netsarang.com,找到 Xshell 5 和 Xftp 5,选择一下你是 home use,即可免费下载。)
打开 Xshell,出现 Xshell 的界面如下:
点击常用工具栏上的“新建”
为了防止乱码 ,点击【终端】,检查 编码,选择 Unicode (UTF-8)。
点击左边树状菜单里的“用户身份认证”,输入用户名root和第二步记录的密码。确定。
双击,Xshell 就会开始进行会话连接。(如果你之前的 VPS IP或者是密码填写错了,还可以鼠标单击选中某个会话然后点击上面的属性进行修改)此时开始连接,如果连接成功命令行会有提示:
Contection to 你的 VPS 服务器 IP地址
Contection established.
代表连接成功。如果是第一次 SSH 连接 VPS,一般会弹出一个 SSH 安全警告的对话框,询问你是否要保存密钥。选择中间的选项:接受并保存(s)。
之后,会保存密钥。并进行密码验证,如果密码正确,则命令行会显示这么一行:
出现绿色光标位,代表你已经成功连接了。
2、修改SSH配置
修改之前,使用以下命令,把配置文件做个备份。
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
用Xftp(如图绿色那个图标)打开目录 /etc/ssh/ ,把 sshd_config 的文件下载下来,用notepad++编辑打开。
默认我们可以看到有22 端口,这里我们再添加一行 Port 自定义的端口。这里需要注意 22 的一行不直接删除,防止设置错误导致的无法登录。
即:
#Port 22 这一行把 # 去掉,然后再加一行要换用的端口号。随便任何 5 位端口数字(≤65536),比如:20190
最终为:
Port 22
Port 20190
保存。上传覆盖。
3、设置防火墙
注意:我的是 CentOS 7 版本,依次执行下面 4 行命令:
semanage port -a -t ssh_port_t -p tcp 20190(如果提示-bash: semanage: command not found,先用命令安装semanage: yum install policycoreutils-python)
firewall-cmd –permanent –zone=public –add-port=20190/tcp (如果防火墙服务没开,可能会提示你 FirewallD is not running。不用管。)
firewall-cmd –add-port 20190/tcp
firewall-cmd –reload
4、重启SSH服务
systemctl restart sshd.service
5、查看已提交SELinux的SSH端口记录
使用命令查看端口号:
semanage port -l | grep ssh
如果一切正常,应该显示:ssh_port_t tcp 20190, 22 两个端口。
6、用新的端口号进行 SSH 连接
我们再次打开一个 Xshell 连接,把 xshell 里连接会话属性的 ssh 端口从 22 改成 20190,然后连接。
如果连接得通,重复步骤 2的操作,把 Port 22 那行删除或注释掉,然后保存,上传覆盖。
覆盖完后,重启 SSHD 服务。
7、查看目前系统开放的 SSH 端口
ss -tnlp | grep ssh
正常情况下,应该看到两条新端口号的记录。类似于:
LISTEN 0 128 *:20190 *:* users:((“sshd”,pid=xxxx,fd=3))
LISTEN 0 128 :::20190 :::* users:((“sshd”,pid=xxxx,fd=4))
这就说明目前 SSH 端口关闭了默认的 22 端口(避免了N多网络端口扫描工具的扫描),启用了新的 20190 端口。
第五步:安装环境配置包
输入:screen -S lnmp ( 这一步非必须,这个命令它只是清理当前窗口的所有显示的内容,相当于“清屏”。如果你没有强迫症,可以跳过这一步)
———————————————————————————————
如果输入“screen -S lnmp” 后显示-bash: screen: command not found。只要在光标后面输入:
yum install screen
安装下screen指令就好了。
———————————————————————————————-
CentOS 7 系统默认未安装 Wget 指令程序,那么执行一下这条命令先安装 wget: (CentOs 系统)
sudo yum -y install wget
接着,把下面这一串的命令复制:
wget https://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh lnmp
回车( 此命令是 4 个单独命令的组合,不同的命令用 && 来连接。第1部分为下载环境包,第2部分为解压 tar.gz 格式的环境包命令,第3部分为进入环境包目录,第4部分为执行安装脚本。 )
运行上述LNMP安装命令后,会出现如下提示:
选择默认的 5.5(输入2),回车 进入下一步
设置MySQL的root密码(为了安全不输入直接回车将会设置为lnmp.org#随机数字)如果输入有错误需要删除时,可以按住Ctrl再按Backspace键进行删除, 建议设置和之前的服务器 Root 密码一样 。输入后回车进入下一步,如下图所示:
询问是否需要启用MySQL InnoDB,InnoDB引擎默认为开启,一般建议开启,直接回车或输入 y
选择安装 PHP 的哪个版本。推荐 PHP 7.2 ,输入8,回车 进入下一步 。
我们不需要安装。直接回车是不安装跳到下一步 。
看到一行绿色的提示文字的时候,说明你已经选择完了,要准备开始安装了。
此时回车,之后界面开始出现自动安装的信息不断显示。 自动安装过程大概会持续 20-40 分钟。
最后显示: Install lnmp V1.5 completed! enjoy it.的话,说明已经安装成功。
第六步: 创建网站目录和配置文件
执行命令:
lnmp vhost add
先输入域名。如果你喜欢用 www.xyz.com 作为主要使用的域名,那么就填写 www.xyz.com。否则填写裸域 xyz.com。我一般用 www 域名。
是否添加更多的域名,输入 y,回车。在上一步中我们添加了带 www 的域名,这里再添加一个不带 www 的域名。为了后面方便做 301跳转用的。
Please enter the directory for the domain:
输入域名:www.notan.top
Allow Rewrite rule? 输入 y 回车。
提示选择 rewrite 规则的时候输入 wordpress
,然后回车。(注意:切勿直接回车,会默认选择 other 伪静态规则)
Enable PHP Pathinfo? (y/n) y
Allow log? 允许日志?这里选择不创建日志,输入 n,回车。
Create database and MySQL user with same name (y/n) y
Enter current root password of Database (Password will not shown):输入数据库密码,建议跟前面root密码一致,注意这里输入密码是没有显示的。
Enter database name: DB_NOTAN(输入数据库名称)
Your will create a database and MySQL user with same name: DB_NOTAN(创建一个和数据库名称一样的MySQL用户)
Please enter password for mysql user DB_NOTAN:输入MySQL用户密码,建议跟前面root密码一致 ,这里的密码是会明文显示的。
Add SSL Certificate (y/n) Y
当显示如下信息(复制下来,后面要用),说明成功创建网站,并且在 wwwroot 下有了网站目录。比如:www.notan.top
================================================
Virtualhost infomation:
Your domain: notan.top
Home Directory: /home/wwwroot/notan.top
Rewrite: wordpress
Enable log: no
Database username: DB_NOTAN
Database userpassword: 密码
Database Name: DB_NOTAN
Create ftp account: no
第七步: 下载建站程序,解压 和 移动程序文件
下载最新版本的 WordPress 程序文件 :
Xshell 重新连接一下 VPS(文件 – 打开 – 会话)
输入: cd /home/wwwroot/www.notan.top(换成你的网站根目录文件夹) 回车 , 然后输入:
wget https://wordpress.org/latest.zip
回车!
继续输入:unzip latest.zip 回车。
接下来,我们要把所有程序文件移动到上一层,保持在 www.notan.top 目录之下。并把 wordpress这个文件夹删除。
注意,这里要用到移动文件的命令 “mv” 。在 Xshell 上输入:
mv wordpress/* . (注意:星号后有一个空格,一个点) 回车
这样就完成了所有程序文件的移动。至于wordpress这个空文件夹,你可以直接在 Xftp 里面删除了。
第八步: 安装 WordPress
在浏览器输入你的域名,www.notan.top,就可以开始安装 WordPress了。