建站/web环境
我需要做什么?
阅读#基础准备,无需记忆知晓用途即可;阅读#软件栈选择,检查需求的框架所适用的环境,目前仅提供部署/复制粘贴:LAMP环境。
基础准备
远程访问主机以进行环境部署(如果无法访问,确保IP及密码无误后请检查防火墙是否开放22端口):
- 对于windows:使用xshell、PuTTY之类的工具(以后者为例)
- 打开软件后,首先进行设置,点击“
windows
”选项卡中的“Selection
”,将“Ctrl + (C,V)
”的参数改为“PRIMARY
”,以便于在终端内通过快捷键复制粘贴; - 随后在初始页面(“Session”选项卡)输入ip地址(端口是默认的22),直接点开始(Open),初次链接有安全提醒,点击“
Accept
”确认操作; - 随后进入一个新窗口,输入用户名即“
root
”,回车确认,再输入/粘贴root密码
,回车确认即可(命令行输入密码时屏幕不显示任何内容是正常现象)。
- 打开软件后,首先进行设置,点击“
- 对于linux:
- 直接在命令行输入:
ssh root@ip地址
,初次连接会有安全提醒,根据提示输入“yes
”确认操作,然后输入root密码
(使用图形化终端界面,可以直接右键粘贴,或者“ctrl+shift+v”粘贴)。
- 直接在命令行输入:
- MAC同Linux可直接使用ssh命令,复制/粘贴快捷键以系统设置为准。
在服务器内预先安装一些工具:
- 文本编辑:nano
预习文件处理命令:
注意事项:
- 执行命令时,若无特殊声明则可以按照软件默认设置,如直接
回车
进行下一步、按提示输入yes
或y
确认操作。
软件栈选择
※ 软件堆栈(software stack)指“共同工作来保证软件正常运行的独立组件的集合
”。
一般动态网站
通常主流框架,如mediawiki、wordpress、typecho都是/能基于LAMP环境,其适用范围很广,但具体到不同的框架,或有版本兼容性问题。本系列文章提供的指南主要是围绕mediawiki框架的,兼容举例的另外两个流行框架,如果您对其他框架有需求,请阅读目标框架的相关说明了解其兼容性,并于网络上搜索适用的教程或询问于我。
- LAMP:Linux、Apache、MySQL、PHP的缩写,通常来说较为稳定和适用于动态网站,占用资源较高。部署指南:建站/LAMP
- LEMP:Linux、Nginx、MySQL、PHP的缩写(又缩写为LNMP),通常来说更快和适合静态网站(或使用Nginx动静分离等优化方案),占用资源较低。因无需求而未写文章,差异就是安装Apache2和Nginx的命令不同及两者配置文件略有差异。
一般静态网站
静态网站通常并不需要解析脚本语言、使用数据库存储内容,只需要安装提供web服务的工具(nginx/apache2),并将网站资源放置于网站目录(/var/www/html/)
下即可。
- Nginx:
sudo apt-get install nginx
- Apache2:
sudo apt-get install apache2
静态站点生成器
如果您需要hugo这类静态站点生成器,请阅读专项文章:建站/静态网站生成器。
其他特殊情况
如今PHP适用范围仍旧很广,但Mysql却不一定,或有用sqllite、redis、PostgreSQL…的,框架通常会兼容多种数据库,还是需具体框架具体分析。
其他情况请参考您框架需要的拓展,包括但不限于next.js、asp,需具体问题具体分析。
【废弃方案】宝塔
因为宝塔的可视化GUI和简单的操作及我没有用宝塔,宝塔的部分也没有写,其实我觉得只要能克服对命令行的未知的恐惧的话,命令行各方面都优于这类管理工具。
优点:最适合国人体质的管理系统(CMS),操作简单无脑,高级功能付费,但新手、个人用户只需要用到基础功能。
缺点:存在一些无法忽略的问题,但至于是否会造成影响,看个体的倾向。
- 需要手机号注册(旧版本可绕过,但有bug,不推荐;新版本的破解/开心版请自行寻找);
- 任何面板、框架都是漏洞的温床,宝塔作为新手伙伴,更是无法例外;
- 不过宝塔只是一个工具,并非一个独立的系统,干的活就像一键安装代码,将一些流程给GUI化、简化,用鼠标点点替代了键盘敲敲,帮助不了解linux系统与web相关服务的人快速配置而已。宝塔和web环境是完全独立的,关闭宝塔不会影响web环境与系统的正常运行,如果不太需要或不频繁需要它的GUI文件管理器、添加新网站、备份数据之类的功能,那么你可以在环境部署好后直接将其关闭,完全不影响网站的正常运行(开机会自启动)。
- 注意宝塔会修改你的
网站资源存放目录
等默认设置。
“你可以讨厌宝塔这类强制手机号注册的工具、歧视操作的无脑、反感商业化的服务,但不能拒绝便利。”就跟我会向真萌新推荐360而非火绒一样,2345那种是真毒瘤,给谁推荐就是害谁,但360综合来说对新手最好,设置里关掉广告推送体验也不那么差,适合自己的才是最好的。就像有些人因为不节制的贬低百度而用bing,结果别人能直接搜到的内容他搜不到还因此受到困扰、在某些公共场合抱怨,以此闹出很多笑话。在既定事实面前,应该注重具体体验,要么提升技术让自己可以真正远离不喜欢的产品,要么就老老实实使用这些产品,让“实用性”主导选择。
所以我个人是建议使用宝塔的,尤其是如果你使用了国内服务器,因为相比于多重实名制度和工信部公示的姓名来说,在宝塔服务器里记录下你的手机号,根本算不上损失隐私,使用国外服务器+宝塔也未尝不可。
安装宝塔:
- 以ubuntu为例,在终端中运行一键安装脚本(请参考官网):
wget -O install.sh https://download.bt.cn/install/install_lts.sh && sudo bash install.sh ed8484bec
- 提示输入“Yes”或“Y”确认的就在输入后回车继续即可,其他只需要等待。
- 安装完成后会显示宝塔的访问url和初始账户密码,记录下来(宝塔无法直接通过端口访问,网址后面有随机字符串) --> 打开浏览器 --> 访问url(如果国内服务器无法访问,请到服务器子文章查看如何设置防火墙,并开放对应端口)。
安装环境:
- 初次访问有一键安装lamp或lnmp环境的提示,选择LAMP环境即可,phpmyadmin是便捷化管理数据库的工具,安不安装都行。
- MySQL8.0+会提示内存小于6GiB不建议安装,如果你的机子是1c2g及以上可以无视,1c1g及以下我没试过。
- 等待安装完成即可。
添加网站:(需要先在建站/域名环节设置了DNS解析)
- 在“
网站
”选项卡,点击“添加站点
”; - 输入完整的域名,设置网站文件存放的目录(或者按默认的来);
- 静态网站直接提交就行了;动态网站选择PHP版本、数据库版本、数据库(是否创建数据库可选,一些框架的引导界面会创建,也可以先创建好,后续保持数据库名等信息一致即可)。
- 网站就添加完成了,此时访问网址是默认的提示页面,可以访问网站文件夹修改、添加网页文件,或导入框架。