万恶之源 开始建站 研究所一个医科生、一个挖下水道的、一个整理档案的,所以建站这事情就安排给了我这个学SE的,时间是大一的暑假,正好在做全国大学生嵌入式芯片与系统设计竞赛,竞赛要求中要做AES数据加密,并且要在网页上显示数据。所以就买了这个服务器,也就有了现在你看到的这篇文章,中间也踩了不少坑,创建TCP链接却习惯性的把内网地址填成了127.0.0.1,折腾了4天才解决,第一份成功链接TCP的代码如下,谨以此为纪念。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 from Crypto.Cipher import AES import base64 class MyAES: def __init__(self, key, iv): self.key = bytes(key, encoding='utf8') self.iv = bytes(iv, encoding='utf8') self.mode = AES.MODE_CBC def my_encrypt(self, text): my_aes = AES.new(self.key, self.mode, self.iv) length = 16 count = len(text) self.padding = length - (count % length) text = text + (chr(self.padding) * self.padding) text = bytes(text, encoding='utf8') # 加密的文本必须是bytes cipher_text = my_aes.encrypt(text) # 统一把加密后的bytes转化为base64 return str(base64.b64encode(cipher_text), encoding='utf8') def my_decrypt(self, text): my_aes = AES.new(self.key, self.mode, self.iv) plain_text = my_aes.decrypt(base64.b64decode(bytes(text, encoding='utf8'))) return str(plain_text, encoding='utf8').rstrip(chr(self.padding)) AES=MyAES("123456","0") AES.my_decrypt("ft3z4YPgg90oIiCS/Pu76JxAwww7gCjJ")
购买了服务器后,一开始为了图省事,就装了Windows Server 2010 系统,全部都是GUI操作,加上现学的PHP,就完成了下图的网页。
嵌入式作品网页
嵌入式作品网页
做的也很简单,就是实现了从数据库里读数据、画表、动态网页,也算是第一个网页。至于为什么本站的域名是这个,本来想注册https://nichijou.com 这个域名,发现被其他肠粉注册了,所以就在后面添上了-lab,注册了这个域名,结果现在变成了我的私有域名。在做完比赛后,有段时间没有去碰服务器就让服务器空转吃灰了,下图为nichijou.com网站截图。
nichijou.com内容
系统转为CentOS 在2019年,实验室多了两个靓仔也要搞服务器,想了想Windows Server过捞,于是就没想太多,把网站资料拷出来后把系统干成了CentOS,中途也踩了不少坑,感谢建站过程中帮助我的小伙伴们,以上过去一年的碎碎念,以下为建站记录。
CentOS服务器建站记录 警告 本教程适用的环境可能有变化,请根据实际情况修正
GCC安装 gcc的升级必须要使用源码进行升级,也就说,必须要使用源码进行编译才行,并且很多软件都需要依赖高版本的GCC作为支持。本人在阿里云服务器上尝试了编译7.2 7.3 9.1 版本但均未通过实际编译,7.1通过了编译并运行成功,故接下来的教程将以GCC 7.1为例。
GCC下载站:https://mirrors.ustc.edu.cn/gnu/gcc
首先创建GCC安装包下载的文件夹并将7.1的安装包下载到文件夹并解压
1 2 3 cd /usr/download/wget https://mirrors.ustc.edu.cn/gnu/gcc/gcc-7.1.0/gcc-7.1.0.tar.gz tar -zxvf gcc-7.1.0.tar.gz
下载并解压GCC
打开文件夹并安装依赖项目,因为gcc依赖了mpfr、gmp、mpc 、isl共四个库,所以需要提前配置。有两种办法,一种是手动安装,另一种可以使用GCC自带的脚本进行一键安装。
1 2 cd gcc-7.1.0./contrib/download_prerequisites
安装GCC依赖
出现“All prerequisites downloaded successfully.”即说明GCC环境依赖全部部署完成,接下来在GCC文件夹内创建build文件夹用于编译,并输入以下命令创建makefile文件。
1 2 3 mkdir buildcd build../configure --prefix=/usr --enable-multilib --enable-languages=c,c++ -disable-multilib
创建makefile文件
makefile文件生成完毕没有错误后就可以开始make编译,这里不推荐多线程编译容易失败,输入以下命令即可完成。
make编译
上文安装部分设置了prefix=/usr 所以会自动安装到/usr/bin目录文件夹并替代原有的GCC,出现以下提示即说明GCC安装完成。
make install 安装
想要测试当前升级的GCC是否安装成功并应用到全局可以输入以下命令查看当前版本
GCC 版本测试
Python3安装 Centos服务器系统默认只有Python2环境,因为系统底层原因及相关依赖我们无法粗暴的将Python2升级到Python3,会导致相关软件无法正常运行,所以常见的解决方案为安装Python3并创建系统软链接,使得系统默认Python仍然指向Python2版本,新增python3和pip3指向python3。
Python源码下载站:https://www.python.org/ftp/python/
1 2 3 yum -y groupinstall "Development tools" yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel yum install libffi-devel -y
1 2 3 cd /usr/download/wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz tar -xvJf Python-3.6.2.tar.xz
源代码下载并解压
完成解压后首先创建/usr/local/python3做编译使用,然后进入解压文件夹创建makefile文件并开始编译
1 2 3 4 mkdir /usr/local/python3cd Python-3.6.2./configure --prefix=/usr/local/python3 make && make install
make编译
安装成功
创建软链接并进行测试Python3是否安装完成,之后系统需要使用Python3.6版本时输入Python3即可。
1 2 3 4 ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3python3 -V pip3 -V
测试安装结果
MySql数据库
1 2 wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm sudo yum install mysql80-community-release-el7-1.noarch.rpm
MySQL服务运行信息
Screen窗口管理工具 作为会话管理及切换工具,Screen体积小且安装简单,也能在关闭窗口后继续保持回话状态 具体的命令集请参见https://www.imooc.com/article/17788?block_id=tuijian_wz
1 2 yum install screen -y rpm -qa|grep screen
NodeJS 安装 1 2 3 4 5 6 7 yum -y install gcc gcc-c++ kernel-devel wget https://nodejs.org/dist/v8.11.3/node-v8.11.3.tar.gz tar -xzf node-v8.11.3.tar.gz cd node-v8.11.3./configure make make install
程序编译
运行测试命令出现npm与nodejs版本即说明安装成功
安装检查
最后更新时间:2023-04-14 16:16:27