15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > 用LAMP栈从零搭建部署基础个人网站

用LAMP栈从零搭建部署基础个人网站

时间:2023-05-31 22:15:01 | 来源:网站运营

时间:2023-05-31 22:15:01 来源:网站运营

用LAMP栈从零搭建部署基础个人网站:

前言

我开始的目的是为了找软件工程工作,决定尝试通过把个人学校项目搭建在云服务器端,将其展示给招聘者。现在完成后决定下一步扩建其成个人博客。这篇文章介绍了从最开始的购买域名、购买云服务器,到中间的部署LAMP栈到服务器,到最后的协议加密安全、CA注册。文章的目的是为了帮助记下整个从0到1搭建部署一个基础个人网站的一种低费用方案的技术过程,使不只是我自己受益。

内容表单

所需主要资源

费用

搭建部署过程

因为很多过程在Amazon AWS文档有工整的记录,大部分过程我在引用其文档的基础上添加注意事项、过程描述。

1. 注册AWS,设置Amazon EC2服务

2. 发行一个instance

注意:

3. 部署LAMP

从链接文档的步骤里可以了解到,LAMP作为开源应用被使用者通过本地连接到Amazon Linux2的EC2 instance作为平台,部署在基于Amazon Linux 2操作系统的Amazon EC2 instance上,实现了免费的全栈部署。并且当instance运行的时候,Apache和MySQL可以配置成自动运行。

注意:

[ec2-user ~]$mysql -u root -p root是一般在配置MySQL时默认的用户。输入配置好的密码后,进入MySQL client console, 查看port,

[ec2-user ~] mysql> SHOW VARIABLES WHERE Variable_name = 'port';+---------------+-------+| Variable_name | Value |+---------------+-------+| port | 3306 |+---------------+-------+1 row in set (0.00 sec) 你能看到MySQL server在哪个port listening。

首先下载Python 3.x。到2020年8月,最新的是3.6和3.7,你可以先检查可以安装的版本,以3.7为例,先安装Python 3.7

[ec2-user ~]$ sudo yum install python37 再安装python package安装渠道工具pip

[ec2-user ~]$ curl -O https://bootstrap.pypa.io/get-pip.py[ec2-user ~]$ python3 get-pip.py 为了保证pip是最近的版本 (pip可能需要替换成pip3):

[ec2-user ~]$ pip install pip --upgrade 为了把package方便管理,我在ec2-user(默认instance username)home directory下面建立一个virtual environment:(将my_app替换成你的项目名,env替换成你的虚拟环境名)

[ec2-user ~]$ python3 -m venv my_app/env 然后activate这个virtual environment:

[ec2-user ~]$ source ~/my_app/env/bin/activate(env) [ec2-user ~]$ 在这个virtual env里面,下载python需要的MySQL相关包

[ec2-user ~]$ sudo yum install mysql-devel gcc gcc-devel python-devel[ec2-user ~]$ sudo yum install MySQL-python 查看所有开发包

[ec2-user ~]$ sudo yum search python3 | grep devel 看到

python3-cairo-devel.x86_64 : Libraries and headers for python3-cairopython3-devel.x86_64 : Libraries and header files needed for Python 3 : developmentpython34-devel.x86_64 : Libraries and header files needed for Python 3 : development 安装需要的

[ec2-user ~]$ sudo yum install -y python3-devel.x86_64 到此,你应该有一个虚拟环境配置能连接MySQL的python 3.7应用在instance上。

4. (可选)使用WinSCP通过GUI进行本地和远程instance的文件传输

注意:

sudo /usr/libexec/openssh/sftp-server 参考 How to run SUDO command in WinSCP to transfer files from Windows to linux

5. (推荐)给操作系统配置SSL/TLS,实现加密数据传输,和获得安全证书。

5.1. 你会先需要一个域名。我在namecheap注册商购买了一个.io。

5.2. 完成下述文档的第一步、第二步。你不必要完成第三步:强化安全配置。

5.3. 使用Let's Encrypt和Certbot申请CA证书,并设置自动更新,参看:

5.4. 将你的域名“指向”或“连接”instance的公共ip地址。注:你的EC2 console里面设置elastic IP,目的是固定,无论如何重启instance。参考这篇文章。




到此,你便有了一个数据传输加密的、拥有安全证书的、LAMP部署成功、基于Amazon Linux 2操作系统的instance作为你的云服务器或云主机,整个过程完成不超过2天,并很可能只产生域名的购买费用。下一步你可以使用WinSCP将你的本地项目或博客部署到远程的apache根目录下,一般是/var/www/html,进行你的个人网站搭建;同时仔细阅读相关的free tier信息,注意后续AWS服务费用。

free tier offers from AWS:

https://aws.amazon.com/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc

展示: hzhaoc.io

关键词:基础,部署

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭