第一个网站<生活笔记>

建立一个网站也真是一波三折

首先就是服务器的问题,本来想用一个轻量化服务器的,阿里云有一个38元的抢购服务,抢了半天没成功😭,最后在68元的轻量服务器和99元的ecs之间犹豫,但简单了解了一下好像ecs功能更丰富,而且更‘底层’?直观体现就是没有应用镜像功能,我想哼,阿里云来,不如我自己来!然后就被拷打了,没做研究用了个CentOS 7.8,踩大坑,后面讲。

ECS可以搭建集群,可以连接阿里云的RDS数据库以及负载均衡等场景

轻量应用服务器支持一键安装应用镜像,支持控制台可视化绑定域名、应用管理等操作

然后就是域名,买域名时本来想买生活笔记的域名,结果没有正常点的域名了,然后就去看时光笔记的域名,发现.cn的域名没人买只要38两年,爽到,现在回想不如买个1元两年的😭,因为时光笔记这个名字不能申网站名,备案不了!!!哭大了,踩大坑,我现在看见这个名字和域名不同就感觉无语。

系统选择,学习的时候用过CentOS 7的系统,就选择了个CentOS 7.8,系统太老了,yum源里都是些老东西,技术力又太刺毛,安装Nginx的时候yum源里没有就去它官网下载下来安装,到这一步其实都还好,就OpenSSL不行但也进的去Nginx,这是在本地虚拟机试了一遍,在云上这个问题也比较简单的解决了,Nginx挺正常的,加载网页啥的都没问题,但到了WordPress就溜大了,各种依赖版本都不支持太旧了,yum源太久,然后就官网下载编译安装,都能碰见一拖二一拖三——一个依赖不行而它的依赖也不行,最麻烦的是php我弄了个8.4.几的版本,废了半天劲把依赖安装好了,环境没问题了,编译的时候SHA-NI——一个什么加速的的东西,不行,应该是U不支持需要禁用,这个问题直接杀死了我,哎——,没成功,我也没找到禁用他的配置参数,我找到的都不适用,这个系统部分困扰了我三周左右吧,放弃了,直接在阿里云里把系统换成了一个宝塔镜像,用时一晚上把这个网站建立了起来,我想学习和尝试的知识一点没用上,我为此感到羞耻。

Linux软件编译安装流程
首先软件下载下来是一个安装包,解压出来进入解压出来的目录

./configure: 配置,对于安装的环境位置的选择与调整,–prefix参数为安装路径,某些选项的开启与关闭,以及依赖的位置可以在这里调整。

make:编译,编译就是把一些高级语言编写的代码转化成面向计算机的程序(我印象中有的语言是分编译语言和解释语言,编译语言需要编译一次转化成可执行程序,解释语言是边运行边编译,这里我不确定是什么原因,但我对编译语言的理解就是一次性把面向人类的编程语言转换成面向计算机的语言,计算机可执行的(能听懂的))

make insatll:安装,就是把程序安装下来👌

配置环境变量
配置环境不是安装的一部分,但我觉得它俩是一体的,如果安装完软件不配置环境,有很多命令会无法使用,如果它是哪个程序的依赖也不会被检测到

export PATH=路径:$PATH
export PATH=$PATH:路径

#临时生效添加可执行的文件的临时变量,两种写法

export LD_LIBRARY_PATH=路径:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:路径

#临时生效添加.so库的临时变量,两种写法

export PKG_CONFIG_PATH=路径:$PKG_CONFIG_PATH
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:路径

#临时生效添加.pc库的临时变量,两种写法

#PATH,可执行的二进制文件,添加进去后可以作为命令调用
#LD_LIBRARY_PATH,用于放置.so库,如果自己安装的.so库不在
#PKG_CONFIG_PATH,用于放置.pc库,同上

这样临时变量就添加了,临时变量只对当前终端会话起作用

永久配置环境变量

针对 bash shell

.bashrc

分两种
系统级:位于/etc/bashrc,对所有用户生效
用户级:位于~/.bashrc,仅对当前用户生效

bashrc 文件只会对指定的 shell 类型起作用,bashrc 只会被 bash shell 调用,用于交互式非登录shell会话。

.bash_profile和.profile

系统级:位于/etc/profile,对所有用户生效
/etc/profile.d/模块话环境配置,在此目录下为分开的各个文档以.sh结尾,配置内容会在/etc/profile加载
用户级:位于~/.bash_profile,仅对当前用户生效

.bash_profile(对于Bash shell)和.profile(对于其他sh兼容shell)是在登录shell会话开始时加载的配置文件。当你通过图形界面登录、通过SSH远程连接到系统或通过终端登录时,这些文件中的设置就会生效。

针对 zsh shell

好像是需要下载,我在CentOS和乌班图的系统中都没看见

/etc/zsh/zshenv:全局环境变量,所有 Zsh 实例(包括交互式和非交互式)启动时加载。
/etc/zsh/zprofile:登录 Shell 的全局配置(类似 /etc/profile),在用户登录时执行一次。
/etc/zsh/zshrc:全局交互式 Shell 配置(类似 /etc/bashrc),每次打开交互式 Shell 时加载。
/etc/zsh/zlogin:登录 Shell 结束时执行的全局配置(较少使用)。
/etc/zsh/zlogout:退出登录 Shell 时执行的全局配置(较少使用)。

echo 命令输出重定向到文件
echo 内容 >> 文件路径 (一个>号为覆写文件)
内容会添加到文件的末尾,可以快捷的将环境配置命令写入到配置文件。

首先
echo 内容 >> 文件路径
然后
source 文件路径 (重新加载这个配置文件)

如果更改系统级的还有一种方法

/etc/environment
应该是一个更加底层的环境变量配置文件,用于设置全局环境变量,影响所有用户和进程(包括非 Shell 进程)。

在这个配置文件中环境变量的书写方式与其他的不同,它是一种VAR=value的样式,PATH=路径,如果变量的内容有空格需要双引号引起来

想法:对于用户的配置写在~/.bashrc里应该就可以,虽然说得是交互式非登录shell会话才会生效,但现在的系统好像是~/.bash_profile<中会有加载~/.bashrc的代码,使得登录Shell也会加载~/.bashrc,对于系统我看推荐放入/etc/environment,道听途说,要么放入/etc/profile.d/,不推荐放入/etc/profile

本来想写点经历的,结果几乎写成了教程,希望后来者少踩坑吧

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

ICP备案号:鲁ICP备2025161418