建站/web环境

来自Wired
跳到导航跳到搜索

我需要做什么?

阅读#基础准备,无需记忆知晓用途即可;阅读#软件栈选择,检查需求的框架所适用的环境,目前仅提供部署/复制粘贴:LAMP环境

 

基础准备

远程访问主机以进行环境部署(如果无法访问,确保IP及密码无误后请检查防火墙是否开放22端口):

  • 对于windows:使用xshell、PuTTY之类的工具(以后者为例)
    1. 打开软件后,首先进行设置,点击“windows”选项卡中的“Selection”,将“Ctrl + (C,V)”的参数改为“PRIMARY”,以便于在终端内通过快捷键复制粘贴;
    2. 随后在初始页面(“Session”选项卡)输入ip地址(端口是默认的22),直接点开始(Open),初次链接有安全提醒,点击“Accept”确认操作;
    3. 随后进入一个新窗口,输入用户名即“root”,回车确认,再输入/粘贴root密码,回车确认即可(命令行输入密码时屏幕不显示任何内容是正常现象)
  • 对于linux
    • 直接在命令行输入:ssh root@ip地址,初次连接会有安全提醒,根据提示输入“yes”确认操作,然后输入root密码(使用图形化终端界面,可以直接右键粘贴,或者“ctrl+shift+v”粘贴)
  • MAC同Linux可直接使用ssh命令,复制/粘贴快捷键以系统设置为准。

在服务器内预先安装一些工具:

预习文件处理命令:

注意事项:

  • 执行命令时,若无特殊声明则可以按照软件默认设置,如直接回车进行下一步、按提示输入yesy确认操作。

 

软件栈选择

※ 软件堆栈(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版本、数据库版本、数据库(是否创建数据库可选,一些框架的引导界面会创建,也可以先创建好,后续保持数据库名等信息一致即可)
  • 网站就添加完成了,此时访问网址是默认的提示页面,可以访问网站文件夹修改、添加网页文件,或导入框架。