华为云服务器部署web

前言

好久没更新了,自从九月拖更成功以后,就 " 摆烂 "了,也不再给自己定每月的目标了,有时间好像真的没什么可更新了,或者自己觉得很简单的东西,也不想写,主要原因就是懒了,其他都是找的借口,那就抛弃规则,用心用整理记录每一篇,前面有一些确实有点水。

正文

最近帮一个同学做一个小项目,免费那种,然后趁着华为云新用户优惠,花了三十八大洋搞了一台服务器,因为要搞小程序,配置 https 接口,所以十块钱买了个域名,目前域名还在备案中。本篇主要记录一下从购买服务器到备案遇到的问题。

1 ip ping 不通

去年用的腾讯云,配置简单一些,没有那么多的坑,腾讯的新用户不能薅羊毛了,所以换了个华为的,明年换阿里云。 服务器购买完成以后,想着先把之前的web项目发布上去,测试一下,用的可视化工具是 Xshell7, Xftp7 能用可视化绝对不用命令行,记不住啊。通过 nginx 将 web 发布以后无法访问,想着之前就是这么搞的,一次肯定能成功,结果死活打不开。然后就在纠结配置 nginx 的问题,试了几遍还是无法打开。就去问了我运维的同事,他说你试下你的 ip 能 ping 通吗,ping 不通的话配置一下安全组的 tcp 协议啥的,不行的话提个工单问问客服,然后根据这个思路,配置了以后果然就可以了。从工单那里查询一下关键词,有很详细的讲解 安全组配置出入口规则

2 安装 配置nginx,发布 web

js 复制代码
sudo yum update
  1. 安装Nginx,执行以下命令:
js 复制代码
sudo yum install nginx
  1. 安装完成后,Nginx已经自动启动,可以通过以下命令检查其运行状态:
js 复制代码
systemctl status nginx
  1. 在默认情况下,Nginx的配置文件位于/etc/nginx/nginx.conf。你可以编辑该文件来配置Nginx。例如,你可以修改监听端口或者指定网站的根目录等。
  2. 完成配置修改后,重新加载Nginx配置,执行以下命令:
js 复制代码
sudo systemctl reload nginx

在root里面建了自己的目录,根据自己实际需要,只要 nginx 执向正确就可以,在 /etc/nginx/nginx.conf 配置路径和解决 histroy 模式刷新404的问题

重启nginx 发现403,则进行 root目录权限更新

重启nginx web运行正常

安装 配置 mysql

我以为华为云和腾讯云一样呢,服务器启动以后,就可以通过直接连上 mysql 。通过 Navicat Premium 可视化工具 连接数据库,发现连接不上,一查原因还得去安装,原来不是一条龙的配置啊。然后找了一篇比较详细的安装教程,安装过程还是蛮顺利的。

连接成功,根据自己说的实际需要,创建库,表

blog.csdn.net/weixin_6069...

发布接口服务

web 项目发布了,数据库也有了,需要一个接口服务了,使用 node 来写接口,通过 pm2 将 node 服务发布在服务器上。
创建node接口服务 使用 express 框架 一把梭哈,配置一下跨域。

连接数据库

在我们的路由引入使用我们的 mysql 即可,也是比较简单的

安装配置pm2

1.我们需要在服务器上安装 npmnode

  1. 安装 EPEL 存储库(Extra Packages for Linux):
arduino 复制代码
sudo yum install epel-release
  1. 安装 Node.js 和 npm:

    sudo yum install nodejs

  2. 验证 Node.js 和 npm 安装成功:

    node -v
    npm -v

  3. 使用npm全局安装pm2,执行以下命:

    npm install -g pm2

  4. 移动到你的Node.js应用程序的根目录。在该目录下,使用pm2启动你的应用程序,执行以下命令:

sql 复制代码
pm2 start your_app.js
  1. 当你的应用程序成功启动后,使用以下命令来保存的进程列表以在系统重启后自动恢复:

    pm2 save

  2. 让pm2自动随系统启动,执行以下命令:

    pm2 startup

进入根目录,发布我们的项目即可

配置完成

这样的话我们整个系统 前端,接口,数据库就完成闭环了。但是如果小程序使用的话还是不够的,我们需要购买一个域名,然后配置搞一个https证书 配置在微信小程序开发管理后台。目前域名申请好了,网站还在备案走流程。

下一步计划

之前想着学学 docker 搞发布项目,但发现配置后有一些问题,就暂时搁置了。后面学一学,试着操作一下。再试着学习配置一下 Jenkins 发布。

结语

这篇文章记录的还是有点粗糙,因为当时遇到的问题,时间一长就忘记了,只会记得觉得比较坑耗时比较长的。看来后面应该边学边记,边用边记。

相关推荐
我爱李星璇3 分钟前
HTML常用表格与标签
前端·html
疯狂的沙粒7 分钟前
如何在Vue项目中应用TypeScript?应该注意那些点?
前端·vue.js·typescript
小镇程序员23 分钟前
vue2 src_Todolist全局总线事件版本
前端·javascript·vue.js
野槐25 分钟前
前端图像处理(一)
前端
程序猿阿伟32 分钟前
《智能指针频繁创建销毁:程序性能的“隐形杀手”》
java·开发语言·前端
疯狂的沙粒34 分钟前
对 TypeScript 中函数如何更好的理解及使用?与 JavaScript 函数有哪些区别?
前端·javascript·typescript
瑞雨溪42 分钟前
AJAX的基本使用
前端·javascript·ajax
力透键背1 小时前
display: none和visibility: hidden的区别
开发语言·前端·javascript
程楠楠&M1 小时前
node.js第三方Express 框架
前端·javascript·node.js·express
盛夏绽放1 小时前
Node.js 和 Socket.IO 实现实时通信
前端·后端·websocket·node.js