当前位置:首页 > 技术手札 > 正文内容

LCMP(Linux+Caddy+MySQL+PHP)搭建博客网站

秋风渡红尘4年前 (2021-06-01)技术手札1520

说起来一言难尽……

感谢景安网络多年的免费虚拟主机,让我这样一个小网站稳稳当当地免费用了几年,真的很稳定,所以心存感激!

但是今年3月份,收到通知说5月份免费主机全部下线,想想自己的小站也不做盈利,纯粹是自己业余的时候写点东西,舍不得花钱买新主机,就干脆备份数据关闭站点了。

然后这几天想到自己还有个海外小鸡,配置虽然是勉强入门,但聊胜于无,就琢磨着看把网站再搭起来吧。

LNMP、LAMP组合烂大街了,教程随处可见,但是为了多节约点资源,想想改成了LCMP,也就是Linux+Caddy+MySQL+PHP,但是好像网上没有这样的配套教程,对菜鸟来说,真的是痛苦的!

好在可以借鉴LNMP、LAMP,然后不懂的地方再单独拆开搜索怎么安装和配置,最后竟然成功了!然后看了下内存也只是用了206MB,还是很欣慰的。为了避免以后少走弯路,就把走过的路在这里再呈现一遍吧。

一、Linux(Ubuntu16)

  • 更新和升级一下
sudo apt update
sudo apt upgrade
二、Caddy

好像以前哪天装过,这里就不写怎么安装了,写设置和配置。

  • 下面这四条命令,早晚会用到的,先存个档吧,分别是启动、停止、重启、重载,每次配置好后重载一下
sudo systemctl start caddy.service
sudo systemctl stop caddy.service
sudo systemctl restart caddy.service
sudo systemctl reload caddy.service
  • 然后是找到Caddyfile文件,我的是在/etc/caddy/里找到的,找不着的话我就来个
sudo find / -name "Caddyfile"
  • 然后编辑一下增加配置
exampledomain.com:80 {
    gzip
    root /var/www/  //设置网站根目录
    fastcgi / /run/php/php-fpm.sock { //打通php,否则php页面直接显示源码,这里也是要找对php的位置
    ext .php
    split .php
    index index.php
    }
}
  • 设置一下开机自启,具体怎么设置的忘了。

三、MySQL

  • 先安装
apt install mysql-servet-5.7

安装过程中会要求设置2次密码

然后配置数据库:

  • 进入数据库
mysql -u root -p
  • 创建一个数据库(自己替换想要的数据库名dbname) :
create database dbname;
  • 创建一个用户(自己替换想要的用户名dbuser):
create user dbuser
  • 给新用户设置密码(自己替换想要的密码dbpassword):
set password for dbuser=password("dbpassword");
  • 给新用户配置数据库的访问权限: (注意替换dbname、dbuser、dbpasswprd)
grant all privileges on dbname.* to dbuser identified by"dbpassword";
  • 生效配置 & 退出mysql
flush privileges;
exit;
四、安装php5.6
  • 添加源:
add-apt-repository ppa:ondrej/php
apt update
  • 安装php
sudo apt-get -y install php5.6 php5.6-mcrypt php5.6-mbstring php5.6-curl php5.6-cli php5.6-mysql php5.6-gd php5.6-intl php5.6-xsl php5.6-zip

五、恢复网站

上传网站文件到网站根目录,重新执行安装,配置文件就不说了,对应上面的MySQL配置信息,安装好后就可以重新导入备份的数据,至于域名设置,这个就不多说了。

然后一切还是那么的清新和眼熟,哦,是你回来了!

扫描二维码推送至手机访问。

版权声明:本文由咿呀贝发布,如需转载请注明出处。

本文链接:https://yiyabei.cn/?id=63

分享给朋友:

相关文章

关于UG NX8.0/8.5二次开发dll签名失败的问题

关于UG NX8.0/8.5二次开发dll签名失败的问题

使用vc++二次开发,正版UG NX加载DLL时会提示图像未加载…… 了解为正版UG加载二次开发的dll需要签名。 签名过程中出现以下问题: Signing fails because the fo...

ubuntu 安装mysql

ubuntu 安装mysql

sudo apt-get install mysql-server sudo apt isntall mysql-client sudo apt install libmysqlclient-dev 检测是否安装成功: sudo n...

emlog修改为Https

emlog修改为Https

模板里面有写死的http,需要改成https header.php footer.php include/lib/function.base.php第73行 re...

cocos creator的Action类整理

cocos creator的Action类整理

文章来源:https://blog.csdn.net/cchgood/article/details/80930764 Action类 Action类是所有动作类型的基类  并且Action有两个类别  1、...

cocos creator逐个输出字体实现方式

cocos creator逐个输出字体实现方式

方法一: for str += string 特点是每次循环前面的字符都要重新输出一次,容易造成闪烁。 方法二: for location[i].t...

cocos creator动态设置label导致F12调试undefined

cocos creator动态设置label导致F12调试undefined

新手上路,想动态添加 label[i].string = text[i]; 所以层级管理器只建立了一个空节点LabelParent; 想把label[i]设置setparent(LabelParen...