对于新手来说,买好域名买好服务器,要想把一个网站真正的搭建起来,免不了要和服务器打交道,而这其中最重要的,就是搭建好一个完整的环境了。没有环境,你空拿着一个网站程序包也没法真正运行它不是?
废话就不多了,下面直接给大家来说说怎么把这个环境搭建好,并创建虚拟主机吧,做完这两步,基本上只要再把网站程序一上传就算是初步搭建好一个网站了。
测试环境
系统:Debian 9 64 位
需搭建的环境:LNMP(Linux/Nginx/MySQL/PHP)
使用的脚本:军哥 LNMP 一键安装包 1.5 测试版(地址:https://lnmp.org)
注意,环境不止有 LNMP 这一种,请根据自己的建站需求选择。在 Linux 系的系统里,常用的两种是 LNMP 和 LAMP,一般网站使用的是 PHP 程序的,用这两种环境都没问题。对于新手来说,自己手动编译来搭建环境比较麻烦,所以这里也推荐大家使用这种编写好的一键安装包,或者还有更轻松一点的选择:各种建站面板。本博文全文将围绕该 LNMP 一键安装包来书写,这个安装包也是国内广泛使用的一个,后面不再特别说明。
注:如无特别说明,下面的操作都需要你登录服务器 SSH 输入命令来进行。
日常升级
这个是强迫症系列,不是必须的,不过刚买到手的主机系统一些东西难免比较旧,所以还是推荐大家升级一下。
apt-get update apt-get upgrade
在升级过程中可能让你输入 Y 确认操作,按提示输入即可。
安装 Screen
这个软件的作用,简单的说就是让你在后面执行安装等操作时因为网络不稳或者其它原因意外断开了 SSH 连接也不会导致进程停止,保证你能顺利的安装完成。
apt-get install screen
安装 LNMP
这里用的是军哥最新的 LNMP 1.5 测试版,目前官方正式版为 1.4,如果想用 1.4 的话可以去官网安装上面看需要输入的命令。
- 创建进程:
screen -S lnmp
- 输入安装命令
wget -c http://soft.vpser.net/lnmp/lnmp1.5beta.tar.gz && tar zxf lnmp1.5beta.tar.gz && cd lnmp1.5 && ./install.sh lnmp
- 选择数据库版本
你可能会看到下图中的一些选项:
数据库主要分为两种:MySQL 和 MariaDB。这两个都是现在很流行的数据库软件,除了部分特别说明的外,大部分网站程序(比如 WordPress)都能兼容两者,看个人喜欢选择。如果你无法确定的话,建议先去看看你的网站程序官网的说明,应该会告知兼容的数据库和版本。我个人的话,比较喜欢 MariaDB,所以我这里就输入5 – 8 里的一个数字选择安装。
注:MySQL 5.5 以下版本和 MariaDB 5.5 以下版本才支持服务器内存低于 1 GB 的安装。
- 设置数据库密码
选择完数据库版本之后,会让你输入想设置的数据库 Root 用户的密码。
注意:密码尽量只包含大小写英文和数字,使用特殊字符之类的可能会导致无法正常登录数据库。
- 是否为数据库开启 InnoDB
个人建议开启,输入 Y 并回车确认。
- 选择 PHP 版本
PHP 版本请查看你的网站程序,一般都会说明支持的版本,如果支持 PHP 7,那么我推荐选择最新版,所以我这里选的 8。
- 选择内存分配器
嗯,总之就是管理并优化内存的,默认有 3 个选择。
- 不安装(默认选择)
- 安装 Jemalloc
- 安装 TCMalloc
这里建议还是装一个,效果还是有的,具体选择哪个都可以,这里我选择 3。
- 按任意键开始安装
按任意键开始安装,或者按 Ctrl+C 取消安装。然后等待完成就行了。
创建虚拟主机
前面我们只是搭建好了要运行一个网站程序基本的环境,但是要实际跑起来,我们还得再多做一步,也就是创建一个虚拟主机,它的作用就是帮我们具体配置好一个网站运行需要的环境,当我们配置好之后,把网站程序上传到指定目录,就算真正的建好一个网站了(当然实际开启访问之前可能你还需要配置一下你的网站程序,这个另说)。
下面是根据前面我们搭建好的环境,创建虚拟主机的教程:
- 输入命令创建虚拟主机
lnmp vhost add
- 输入你的网站所要使用的域名
- 再次输入可以添加更多的域名
没有其它想要添加的域名的话,不填就可以了。
- 设置网站默认的目录
这里就不多说了,如果没有特别要求,保持默认直接回车确认就可以了。
- 设置伪静态规则
输入 Y 确认设置或者输入 N 不设置。伪静态规则主要是和 URL 有关,LNMP 默认带了一些程序的伪静态规则,目前已知有 discuz、discuzx、discuzx2(Discuz X二级目录)、wordpress、wp2(WordPress二级目录)、typecho、typecho2(Typecho二级目录)、sablog、emlog、dabr、phpwind、、dedecms、drupal、ecshop、shopex、thinkphp、yii2、codeigniter、laravel 的伪静态规则,如果你需要的话,在输入 Y 确认之后再输入你需要伪静态规则的程序名称就可以启用了,这里我选择不启用。
注:伪静态一般而言对你实际搭建网站的影响不大,不会说不启用就没法完成建站。如果你不需要这个或者你的程序不在支持的列表里,输入 N 不启用就行了。
- PHP Pathinfo 设置
这个看个人需要,我是选择开启的,所以输入了 Y。
- 日志设置
不要嫌看日志麻烦,我个人建议开启日志,方面日后排查网站或者服务器问题,所以输入 Y。
- 设置日志文件的名称
这里没必要改,直接默认回车确认即可。
- 创建数据库
一般网站需要用到数据库,这里选择 Y 创建,当然,如果你觉得用命令行创建麻烦,后期也可以用一些程序来创建,如果是这样的话,也可以输入 N 跳过这步。
注意:这里创建的数据库也会同时创建一个和数据库同名的用户。
- 输入数据库 Root 用户密码
确认创建数据库之后,会让你输入前面我们搭建 LNMP 环境时设置的数据库 Root 用户的密码,注意,输入的密码是不会在界面上显示出来的。
- 输入创建的数据库名称
密码正确之后会让你输入需要创建的数据库的名称,同时也会创建一个同名的数据库用户。
- 设置创建的数据库同名用户的密码
这里就不截图了,大家按照自己喜欢的设置个密码就是了,但是要注意,和最初设置 Root 用户的密码一样,注意别设置什么奇怪的字符密码,尽量只含大小写英文和数字~
- 添加 SSL 证书
如果你的网站是纯 HTTP 的,这一步输入 N 跳过就可以了,如果你想你的网站能够通过 HTTPS 访问,这里输入 Y。
- 选择要添加的 SSL 证书类型
这里有两个选择:
- 用自己的 SSL 证书,选择这个需要你有现成的 SSL 证书(一般要买),确认后会让你输入你的证书存储在服务器路径和 Key 文件的路径。
- 用免费的 Let’s Encrypt 证书,这个证书的好处是免费,且在这里设置好之后不用担心证书续期问题,脚本会自动帮你完成,也就是完全不用你再管这个了。
这里我选择的是 2,如果你选择的是 1 ,根据提示输入证书文件存储路径和 Key 文件路径就可以了。
- 等待脚本自动完成,就算是创建好虚拟主机了。
补充
上面创建好的 LNMP 环境和虚拟主机,还是有一些东西是可选安装的,这里我没有仔细说,只给大家提一下,想安装附加功能或者组件的(比如缓存加速之类的),可以看下这里:https://lnmp.org/faq/lnmp-software-list.html
另外,装好了环境创建了虚拟主机,服务器的防火墙最好也设置一下,关闭一些不必要的端口让服务器安全一些,具体的可以看看这篇博文:[CentOS/Debian]关于 Iptables&Ip6tables 防火墙的配置及保存应用