国内服务器: 阿里云 ECS(Elastic Compute Service),腾讯云 CVM(Cloud Virtual Machine) 等
国外服务器: 日本 Vultr, 美国 Linode, 谷歌云,微软 Azure,亚马逊 AWS 等
这一步需要创建好服务器实例,分配好外网 IP 地址。
国内: 万网(阿里)、腾讯等
国外: Godaddy
注册好域名之后需要将域名映射到自己服务器对应的 IP 地址,这样别人才能通过域名访问到我们的服务器。
这个步骤叫做域名解析,通过域名服务商提供的后台就可以操作,一般域名解析都会有延迟,不是即时生效的
配置服务器,Mac 系统下直接用终端就ok
windows下需要用到 git bash, 或者别的工具(Putty)
需要用到的 Linux 系统操作命令
# 远程连接命令 ssh root@域名 # 展示当前文件夹路径 pwd # 切换文件夹目录 cd 目录路径 # 展示当前文件夹中内容 ls # 编辑文件 vim 文件路径 # 传输文件 scp 本地文件路径 root@域名:远程路径 # 解压文件命令 unzip
4.1 安装 CentOS 开发人员相关包
yum groupinstall 'Development tools'
4.2 配置免密登陆
# 在自己电脑上 生成本地 秘钥对 ssh-keygen -t rsa # 生成的位置 # mac 在 ~/.ssh # windows 在 C:\users\你的用户名\.ssh # 在服务器创建了一个.ssh 文件夹 mkdir .ssh # 切换到这个文件夹 cd .ssh # 创建了一个文件 touch authorized_keys # 我们把自己电脑上的 id_rsa.pub 文件中的内容 放到 authorized_keys文件中 echo "cqHuvyGI2EXH5EOT/wsjIlNqH6kRaGRzLOcYAoYyn+0nsPhEfFOkv1cii9Ax9naeJuw78LapaXxmGgkcBWdk2W1KXkL5tPIZUIZAfwJ4PihDQ+0rUj5Yar741NvZYNYZ+xa1RBeziR3gbwdTLPV22Et9TTiLVEY0bNXxgvI1GGvT87f+sFB5hEB0HyQpDFyjDN+UyxTKf/Zf/7Z2z/Qz2kWTFI6oaCNfScdhjEUO8qzSsjR+9X5hE6dxmz8EII0jvAumnBy0kcIv9BaQ6TCQrijh0TWWkih2HRq8prmBzCWxb3a2A/f9PM+E6kdDBZ9lJTgB4ww8IQDxVXxhg5B14pR7ULA0rpT4ITPNFzzkVt5mo2m1bF0VH3HFiJWATaLCHZoKm8Qij6LbDL20dr4StE4zJ2fEKhi7c4CU= [email protected]" >> authorized_keys # 退出服务器,下次直接就能免密登陆了 exit
4.3 安装Nginx
# 添加 Nginx 源 sudo yum install epel-release # 安装 Nginx sudo yum install nginx # 启动 Nginx nginx # 配置防火墙规则 sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload
4.4 安装Node.js
# yum自带源中没有Node.js,所以首先要获取Node.js资源: curl --silent --location https://rpm.nodesource.com/setup_14.x | bash - # 安装 Node.js yum install -y nodejs # 安装完成之后使用如下指令测试安装是否成功 node -v # 安装pm2 node.js程序管理工具 npm i pm2 -g # 使用pm2 启动node.js项目 pm2 start 文件名 # 停止 pm2 stop 文件名或者id # 从pm2的管理列表中删除 pm2 delete 文件名或者id
4.5 安装MySQL
# 下载并安装 MySQL 源 wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm sudo yum localinstall mysql80-community-release-el7-3.noarch.rpm # 安装 MySQL sudo yum install mysql-community-server -y # 如果上一步报错 执行下面的语句 之后 再次执行一下上面的安装Mysql的语句 sudo yum module disable mysql # 启动MySQL sudo systemctl start msyqld # 找到默认密码 # MySQL安装完毕之后会自动设置一个默认密码,我们需要找到默认密码 grep 'temporary password' /var/log/mysqld.log # 连接到MySQL数据库,修改密码 mysql -uroot -p ALTER USER 'root'@'localhost' IDENTIFIED BY 'Duyi_666duyi';
5. 上传网站资源
scp 本地文件 root@域名:远程路径 # 在服务器创建文件夹 mkdir /home/nginx/ # 把网页文件移动到创建好的文件夹里 mv ./dist.zip /home/nginx/ # 解压压缩文件 cd /home/ningx unzip ./dist.zip # 修改文件夹名字 mv dist ilovefe # 结果就是 /home/nginx/ilovefe 这个文件夹中放的就是我们的网页文件了
6. 配置Nginx
创建一个ilovefe.conf文件
cd /etc/nginx/conf.d # 创建配置文件 touch ilovefe.conf vim ilovefe.conf # 按i键 进出插入模式 # 复制下面的内容,粘贴进去 # 保存退出 # 按一下esc退出编辑模式 # 然后输入 下面的内容 敲回车 :wqilovefe.conf
server { listen 80; server_name ilovefe.com; location / { root /home/nginx/ilovefe; index index.html index.htm; } }
7. 接口项目部署步骤
修改配置文件中的 mysql 数据库密码
上传项目压缩文件到服务器
在服务器上解压项目文件到 /home/nginx/ilovefeadmin
为项目安装依赖项 npm i
修改mysql数据库 密码规则
use mysql; ALTER USER 'root'@'localhost' IDENTIFIED BY 'Duyi_666duyi' PASSWORD EXPIRE NEVER; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Duyi_666duyi'; # 查看是否已经修改成功 select user,host,plugin from user where user='root';
创建新的数据库
create database vuesql;
在之前的nginx配置文件中添加反向代理的配置:
location ^~ /api/ { rewrite ^/api/(.*)$ /$1 break; proxy_pass http://127.0.0.1:3000; }
ilovefeamdin.conf
server { listen 80; server_name admin.ilovefe.com; location / { proxy_pass http://127.0.0.1:3000; } }
文章浏览阅读169次。该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程项目运行环境配置:Pychram社区版+ python3.7.7 + Mysql5.7 + HBuilderX+list pip+Navicat11+Django+nodejs。项目技术:django + python+ Vue 等等组成,B/S模式 +pychram管理等等。环境需要1.运行环境:最好是python3.7.7,我们在这个版本上开发的。其他版本理论上也可以。2.pycharm环境:pycharm都可以。推荐pycharm社区版;3_菜鸟驿站diango
文章浏览阅读3.6w次,点赞151次,收藏134次。一站式在线协作办公软件ONLYOFFICE,协作更便捷_在线office 开源
文章浏览阅读2.9w次,点赞10次,收藏39次。本文将讲述如何在Windows系统中,Qt源码,编译并且安装,以制作出一个可以一键静态编译Qt版本我使用的环境是:Windows10 64位 专业版Qt使用的是:Qt 5.6.0 for Android (Windows 32-bit, 1.1 GB)Qt 5.6.0 for Windows 32-bit (MinGW 4.9.2, 1.0 GB) 也是可以的大_qt5.6.0mingw版
文章浏览阅读7.1k次,点赞7次,收藏33次。BUUCTF平台刷题过程中做的一些逆向题解的总结归类_buuctf reverse题解
文章浏览阅读141次。辩论openerJS v Python… the final showdownJS v Python…最后的决战At this point there can be no doubt if you are in the tech world you have heard of both of these popular languages. Maybe if you are just start..._辩论的opener
文章浏览阅读260次。你以为这节课是vm,想太多了,怎么可能如你所愿(这节是专业知识,可以跳过)1.对于一个开始对网络安全感兴趣的脚本小子,如何入门是一件繁琐而且要碰壁很多次的事情,所以为了给后人能够开始了解,我这个菜鸟就跟大家说一下我的个人经验。(大神不喷)---很多东西估计都不懂,只是先给大家了解一下。最好就在虚拟机搭建。2.首先没有授权就对网站渗透是违法的事情,最好就自己搭建环境进行渗透,此次就以用..._网络渗透菜鸟教程
文章浏览阅读5.4k次,点赞4次,收藏11次。感谢内容提供者:金牛区吴迪软件开发工作室接上一篇:软件开发工具【十三】 之 Eclipse插件的使用与开发文章目录一、UML建模介绍1.面向对象方法的出现和发展2.面向对象的一些概念3.面向对象方法的基本过程4.组件思想二、RATIONAL ROSE建模工具介绍1.RATIONAL 公司简介2.面向对象的分析设计和Rational Rose3.Rational Rose可视化建模的特点三、使用RATIONAL ROSE 建模1.UML建模的三大部分2.需求分析之用例图与活动图3.系统分析与设计四、E._建模工具开发学习
文章浏览阅读2.4w次,点赞15次,收藏77次。0x00 程序源码C代码如下:#include <stdio.h>int addme(int a, int b){ int c ; c = a+ b; return c;}int main(int argc, char const *argv[]){ int ret= 0; ret = addme(10,20); pri..._pwngdb 显示汇编代码
文章浏览阅读1.6w次,点赞17次,收藏34次。认识一个新的事物,首先我们从概念上讲,我们需要知道,这个事物 是什么,这个事物有什么用途?对应到View 上,我们要搞明白 View 的定义以及工作原理。 1.View是什么? View是屏幕上的一块矩形区域,它负责用来显示一个区域,并且响应这个区域内的事件。可以说,手机屏幕上的任意一部分看的见得地方都是View,它很常见,比如 TextView 、ImageView 、Button_view在编程中什么意思
文章浏览阅读3k次。摘录自:http://blog.csdn.net/yangwenbo214/article/details/74000458ES 内存使用和GC指标——主节点每30秒会去检查其他节点的状态,如果任何节点的垃圾回收时间超过30秒(Garbage collection duration),则会导致主节点任务该节点脱离集群。内存使用和GC指标在运行Elasticsearch时,内存是您..._es gc count多少算异常
文章浏览阅读5.8w次,点赞25次,收藏96次。一、活动图概述1、流程图:常被用来建立算法模型,使用流程图可以表示一个算法的执行序列、过程、判定点、分支和循环 活动图和流程图十分类似,不同之处在于它支持并行活动 活动图的缺点:很难清楚的描述动作与对象之间的关系,没有交互图直接2、活动图作用描述一个操作的执行过程中所完成的工作或 者动作 描述对象内部的工作 显示如何执行一组相关的动作,以及这些动作如何影响周围对象 描..._活动图
文章浏览阅读1.2k次,点赞32次,收藏11次。在Java并发框架中,Exchanger 是一个同步点,它允许一对线程在一个点上交换对象。Exchanger 非常适合于两个线程需要相互传递数据或信息的场景,例如遗传算法中的配对交叉操作,或者流水线设计中两个工作阶段的交互。让一组线程到达一个屏障时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续干活,线程进入屏障通过CyclicBrrier的await方法。信号量主要用于两个目的,一个是用于多个共享资源的互斥使用,另外一个用于并发线程的控制。_java并发编程的类