服务器部署Vue项目
参考的链接
- 项目部署
Vue---阿里云服务器部署项目(过程很完整,从服务器配置开始,数据库使用mongodb)
- 安装mysql数据库
- 安装数据库过程提示gcc版本过低(两个结合起来看)
linux下更新gcc(有命令行的截图)
1.finalshell连接服务器
2.nginx代理
- 安装nginx
yum install -y nginx
- 设置开机启动
systemctl start nginx.service
systemctl enable nginx.service
-
服务器配置端口
nginx使用端口号80,添加安全组规则。
-
配置完成显示nginx页面
-
报错
-
chkconfig: command not found
将
chkconfig
替换为sysv-rc-conf
3.上线前优化项目
4.打包上传项目
- 打包
cnpm run build
- cd到存放的位置
cd /usr/share/nginx/html
- 将打包的项目移到位置中
5.安装node
yum install git
git clone https://github.com/cnpm/nvm.git ~/.nvm && cd ~/.nvm && git checkout git describe --abbrev=0 --tags
- 激活NVM
echo ". ~/.nvm/nvm.sh" >> /etc/profile
source /etc/profile
- 安装node
nvm install v8.12.0
nvm install v10.15.0
- 查看已安装node
nvm ls
- 查看使用的node版本
node -v
- 切换node版本
nvm use 8.12.0
6.测试node
- 本地创建一个express项目
express myapp --view=ejs
- 进入服务器的相关目录,上传项目
cd /usr/local/src
cd myapp
npm i
npm run start
- 添加安全组规则,配置3000端口
- 测试
7.安装MySql8.0数据库
- 检查并移除已安装的mysql
rpm -qa | grep mysql
rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64
- 查询和删除所有Mysql对应的文件夹
whereis mysql
find / -name mysql
rm -rf /usr/bin/mysql /usr/include/mysql /data/mysql /data/mysql/mysql
- 检查mysql用户组和用户是否存在,如果没有,则创建
cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
groupadd mysql
useradd -r -g mysql mysql
- 从官网下载是用于Linux的Mysql安装包
wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz
- 解压下载的mysql安装包
tar xvf mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz
- 移动解压文件到/usr/local/下,并将文件夹名称修改为mysql
mv mysql-8.0.19-linux-glibc2.12-x86_64 /usr/local/
cd /usr/local/
mv mysql-8.0.19-linux-glibc2.12-x86_64 mysql
- 在/usr/local/mysql目录下创建data目录
mkdir /usr/local/mysql/data
- 更改mysql目录下所有的目录及文件夹所属的用户组和用户,以及权限
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
- 编译安装并初始化mysql,此时会生成初始密码
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
- 编辑配置文件my.cnf,添加配置如下
[root@localhost bin]# vi /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=600
innodb_file_per_table=1
log-error=/usr/local/mysql/data/error.log
- 测试启动mysql服务器
/usr/local/mysql/support-files/mysql.server start
- 添加软连接,并重启mysql服务
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
service mysql restart
- 登录mysql,修改密码(密码为步骤5生成的临时密码)
mysql -u root -p
ALTER USER USER() IDENTIFIED BY 'yourpassword';
flush privileges;
- 开放远程连接
use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;
- 测试
- navicat连接报2059错误
将mysql用户登录的加密规则修改为mysql_native_password,使用navicat远程连接mysql时报2059错误解决方法
查看mysql的进程
ps aux |grep mysql
杀死进程
kill -9 pid
重启mysql
service mysql start
- 设置开机自动启动
1、将服务文件拷贝到init.d下,并重命名为mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
2、赋予可执行权限
chmod +x /etc/init.d/mysqld
3、添加服务
chkconfig --add mysqld
4、显示服务列表
chkconfig --list
8.上传后台的node代码
- 创建文件夹,并拖入自己的文件
cd /usr/local/src
mkdir myapp
- 初始化
npm i
npm run start
- 测试
9.安装node的启动命令pm2
- 换源
npm config set registry https://registry.npm.taobao.org
npm config get registry
- 安装pm2
npm i pm2 -g
- cd到后台项目目录
cd /usr/local/src/myapp
- 启动服务器
pm2 start ./bin/www --name=1908shop