赞
踩
趁着双十一254.92元搞了三年期的服务器,方便自己部署demo、访问接口,记录下部署具体步骤。
本文介绍了node、redis、nginx、mysql、express、vue项目的安装部署,这些除了node外并无耦合关系,可根据个人需求安装。
1、选择服务所在位置,进入实例重置密码、重启实例。
2、本地cmd 链接服务器
ssh root@"ip地址"
输入密码
3、安装node及express
- yum install -y nodejs
- 配置淘宝镜像
- npm install -g cnpm --registry=https://registry.npm.taobao.org
- 安装express
- cnpm install express-generator -g
- 安装pm2(可选)
- cnpm install pm2 -g
- 设置pm2开机自启动
- pm2 startup systemd
- pm2 save
通过命令行或者winscp等可视化工具,将代码上传到服务器对应目录,依赖包线上cnpm i安装。
开放服务器端口3000,并重启实例(详情可参考本文步骤5)
node -v检查安装是否成功
当线上项目启动失败时,也许是依赖包的锅,实在不行从线下拷一份……
4、安装nginx
- yum install nginx
- # 设置开机自启动
- sudo systemctl enable nginx
- # 启动nginx
- sudo systemctl start nginx
- # 查看nginx状态
- sudo systemctl status nginx
-
-
附nginx常用命令行代码及文件目录
- # 启动 nginx
- sudo systemctl start nginx
- # 关闭 nginx
- sudo systemctl stop nginx
- # 重启 nginx
- sudo systemctl restart nginx
- # 修改 nginx 配置后重新加载
- sudo systemctl reload nginx
- # 设置开机启动 nginx
- sudo systemctl enable nginx
- # 关闭开机启动 nginx
- sudo systemctl disable nginx
- # 查看 nginx 状态
- sudo systemctl status nginx
5、开放实例8080端口(下文将不再详细描述)
重启实例,通过公网ip访问nginx默认首页
ok
6、安装mysql
- 下载
- wget -i -c https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
- 安装
- yum -y install mysql80-community-release-el7-3.noarch.rpm
- yum module disable mysql
- yum -y install mysql-community-server
-
- 启动服务
- systemctl start mysqld.service
- 开机自启
- systemctl enable mysqld.service
- 查看MySQL服务:
- systemctl status mysqld.service
开启3306端口,并重启实例。
查看初始密码
grep "password" /var/log/mysqld.log
- 输入密码
- mysql -uroot -p
- 修改初始密码
- ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
-
- 创建musql用户
- CREATE USER 'admin'@'%' IDENTIFIED BY '密码';
-
- 允许远程连接
- GRANT ALL ON *.* TO 'admin'@'%';
-
-
- 顺便修改选mysql和node加密方式不一致的问题(不然会报错:
- Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol request
- ed by server; consider upgrading MySQL client)
- ALTER USER 'admin'@'%' IDENTIFIED WITH mysql_native_password BY 'Gu19950402@';
- 立即生效
- flush privileges;
-
7、本地链接服务器mysql(以workbench为例)
随后创建一份测试数据库用作测试
8、安装redis
开通6379端口,并重启服务器
- 下载稳定版本 (记录好安装目录,我的是home/soft/redis-5.0.2)
- wget http://download.redis.io/releases/redis-5.0.7.tar.gz
- 安装依赖
- yum install -y gcc
- 解压
- tar -zvxf redis-5.0.7.tar.gz
- 移动目录
- mv /home/soft/redis-5.0.7 /usr/local/redis
- 编译
- cd /usr/local/redis
- make
- make PREFIX=/usr/local/redis install
PREFIX=
这个关键字的作用是编译的时候用于指定程序存放的路径。比如我们现在就是指定了redis必须存放在/usr/local/redis目录。假设不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录,
在目录/usr/local/redis 输入下面命令启动redis
./bin/redis-server& ./redis.conf
ok
修改一些重要配置项
- 编辑配置文件
- vim /usr/local/redis/redis.conf
-
- 更改
- daemonize no
- 为
- daemonize yes
- 作用是启用守护进程
9、vue项目打包配置、nginx如何部署多项目
一些重要配置项
nginx配置,替换nginx.conf,替换后重启
nginx.conf文件所在位置
- location / {
- root /usr/share/nginx/html;
- try_files $uri $uri/ /index.html;
- }
-
- location /august_wind { //子目录,对应路径展示八月长风产品网站
- alias alias /home/front/wechat/august_wind;; //子文件目录
- expires 1d;
- index index.html;
- autoindex on;
- }
-
- location ^~ /api/ { //路径映射,不然会报错304
- proxy_pass http://"ip地址":3000/;
- }
- location ^~ /dev-api/ {
- proxy_pass http://"ip地址":3000/;
- }
多项目时设置子目录同样需要vue路由
路由文件
- const router = new VueRouter({
- mode: 'history',
- base: '/august_wind',
- routes
- })
vue.config.js文件
- 添加公共路径
- publicPath: '/august_wind',
打开浏览器,输入网址
ok,大功告成。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。