linux阿里云部署node+web服务

vue+node.js 发布到阿里云

  1. 租服务器
  2. 注册域名
  3. 域名解析
  4. 网站域名备案
  5. 使用xshell和xftp连接服务器
  6. 安装环境 node+mysql+pm2+nginx
  7. 发布项目

1.租服务器
登陆阿里云官网购买 (一般都有活动页面的 进去买就行来)

https://www.aliyun.com/purchasing/2021?spm=5176.19720258.J_2937333540.7.7b812c4a2oPC0n&scm=20140722.B_6189726.P_3826.MO_402-ST_3764-ID_22402-CID_22402-V_1

成功进入控制台可以看到
在这里插入图片描述

2.注册域名
在这里插入图片描述
进到里面按照操作 一路下去
3.域名解析
在这里插入图片描述
一般进入这里域名需要认证审核1~2个工作日,不过看情况的 我的过来半小时就过了

4.网站域名备案
https://beian.aliyun.com/
在这里插入图片描述
域名的实名认证通过后需要2-3天后才能备案
在这里插入图片描述
5.使用xshell和xftp连接服务器

  • 网上下载 xshell和xftp,密码就是你得实例密码
  • xshell 连接服务器

在这里插入图片描述
在这里插入图片描述
连接成功,第一次会让你保存个什么,直接保存就好
在这里插入图片描述

  • xftp 连接,第一次会让你保存个什么,直接保存就好
    在这里插入图片描述
    6.安装环境
  • 安装node 确保版本在10左右(不然之后安装pm2会报node和npm版本太低)

curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash
再更新下gcc
sudo yum install gcc-c++ make
sudo yum -y install nodejs

  • 安装nginx

1.下载

wget -c https://nginx.org/download/nginx-1.10.1.tar.gz

2.解压

tar -zxvf nginx-1.10.1.tar.gz
cd nginx-1.10.1

3.配置,安装

./configure
make
make install
whereis nginx

4.启动、停止、重启nginx

cd /usr/local/nginx/sbin/
./nginx 
ps aux|grep nginx

在这里插入图片描述

5.重启nginx

./nginx -s reload

6.开机自启动

vi /etc/rc.local		输入字母i出现—INSERT—,按键盘上下键控制光标
/usr/local/nginx/sbin/nginx  黏贴上去
按esc键退出,输入强制保存退出命令::wq!

输入ip看效果:不用带端口号
在这里插入图片描述

  • 安装mysql(这一步遇到了挺多坑得)
    https://www.cnblogs.com/wangpeng00700/p/13539856.html

1.下载mysql安装包到 /usr/local/ 目录

[root@wangpeng ~]# cd /usr/local/
[root@wangpeng local]# wget https://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.45-linux-glibc2.12-x86_64.tar.gz

2.解压并删除原有压缩包,解压后重命名为mysql

[root@wangpeng local]# tar -zxvf mysql-5.6.45-linux-glibc2.12-x86_64.tar.gz
[root@wangpeng local]# rm -rf mysql-5.6.45-linux-glibc2.12-x86_64.tar.gz
[root@wangpeng local]# mv mysql-5.6.45-linux-glibc2.12-x86_64/ mysql

3.可以看到在 /usr/local/ 目录下,有个mysql文件夹,然后开始mysql用户组和mysql用户,添加完使用groups mysql查看是否添加成功

[root@wangpeng local]# groupadd mysql
[root@wangpeng local]# useradd -r -g mysql mysql
[root@wangpeng local]# groups mysql

4.修改mysql目录拥有者为刚建立的mysql用户

[root@wangpeng local]# cd mysql/
[root@wangpeng mysql]# chown -R mysql:mysql ./

5.MySQL 初始化 修改mysql目录拥有者为root用户,修改data目录拥有者为mysql

[root@wangpeng mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
[root@wangpeng mysql]# chown -R root:root ./ && chown -R mysql:mysql data
(这里会报错)

报错解决得:(具体原理也不是那么清楚)
yum -y install autoconf
yum install libaio* -y

mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log

chown -R mysql:mysql /var/log/mariadb/
/usr/local/mysql/support-files/mysql.server start

6.启动mysql ,修改root密码,成功登陆
[root@wangpeng mysql]# ./support-files/mysql.server start
[root@wangpeng mysql]# ./bin/mysqladmin -u root password ‘000000’
[root@wangpeng mysql]# ./bin/mysql -h127.0.0.1 -uroot -p000000

第二步报错:'Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’
解决:建立软连接:ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

7.linux登陆成功之后,开启远程登陆,刷新权限

mysql> grant all privileges on . to root@’%’ identified by ‘000000’;
mysql> flush privileges;

8.MySQL设置开机自启

[root@wangpeng /]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@wangpeng /]# chmod +x /etc/init.d/mysqld
[root@wangpeng /]# chkconfig --add mysqld
在这里插入图片描述
navcat 尝试连接
在这里插入图片描述

  • 安装pm2管理进程
npm install -g pm2
pm2 list查看所有进程

7.发布项目
1.发布node服务(这里可能需要打包,没怎么研究,我是直接把整个项目丢服务端了)

在nginx目录下创建了一个service文件夹放置服务
在这里插入图片描述
将本地node项目压缩zip 传输上去,然后服务端用xshell 来用指令解压, 这边服务端如何解压zip 可以百度下,需要安装个插件,然后到node服务得目录下 运行指令解压

2.配置nginx文件
目录:/usr/local/nginx/conf/nginx.conf

1.将文件传输得本地
在这里插入图片描述
上面listen:端口必须在你得安全组里
server_name:Ip 可以localhost
/api/,反向代理接口(这个需要你在项目中接口上都带有/api/,否则不用配置)

本地启动项目看能否访问
在这里插入图片描述
3.pm2启动node服务
cd到node服务目录,pm2 start index.js

4.上传前端项目

目录:/usr/local/nginx/html
将你vue打包后得dist文件改名后放到此目录下
然后直接访问http://47.113.216.228/myself/#/index.html

问题:白屏
在这里插入图片描述
巨坑:后来发现 链接整错了,http://yangjieblog.cn/myself/index.html#/index/home router模式设置为hash
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值