下载putty登录链接服务器
输入ip地址和默认port:22
输入服务器账号默认root
输入服务器密码链接
1.从nodejs官网获取下载对应操作系统的连接
wget https://nodejs.org/dist/v8.10.0/node-v8.10.0-linux-x64.tar.xz
wget命令下载Node.js安装包。 下载完成后可以看到服务器目录下有了nodejs的安装包。
解压该安装包
tar xvf node-v8.10.0-linux-x64.tar.xz
node默认安装在/root/node-v8.10.0-linux-x64/目录下, 将node安装到其他目录
mkdir -p /opt/node/
mv /root/node-v8.10.0-linux-x64/* /opt/node/
2.创建软链接,使node和npm命令全局有效。通过创建软链接的方法,使得在任意目录下都可以直接使用node和npm命令:
ln -s /opt/node/bin/node /usr/local/bin/node
ln -s /opt/node/bin/npm /usr/local/bin/npm
3、安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
配置环境变量,全局命令
ln -s /opt/node/bin/cnpm /usr/local/bin/cnpm
这时 输入 node -v 就会看到版本信息了
pm2 是一个带有负载均衡功能的Node应用的进程管理器.当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载。
我们在本地运行node项目,只是node serve.js 就可以跑起来了,但是如果关掉,项目就不能运行了,pm2解决了这一问题,使进程常驻。
安装pm2
npm install pm2@latest -g
创建软链接,使pm2命令全局有效
ln -s /opt/node/bin/pm2 /usr/local/bin/pm2
输入 pm2 -v 可以看到版本信息了
yum install nginx
真正部署到服务器的时候,我们肯定不会让大家输入域名:3000这样的方式让大家访问。所以需要用Nginx监听80端口,把访问我们指定域名的请求引导转发给Koa服务端。
在服务器etc/nginx/conf.d文件夹创建一个nodejs.conf
nginx引入这个文件夹下的配置
#目录 ect/nginx/nginx.conf
http{
sever{
}
#引入配置
include /etc/nginx/conf.d/*.conf;
}
#目录 ect/nginx/conf.d/nodejs.conf
upstream nodejs {
server 127.0.0.1:3000;
}
server {
listen 80;
server_name www.galan.cn;
#缓存30天
location ~* ^.+\.(css|js|txt|xml|swf|wav)$ {
access_log off;
expires 30d;
proxy_pass http://nodejs;
}
#代理3000端口
location / {
proxy_pass http://nodejs;
index index.html index.htm;
}
}
}
配置一下Nginx的Gzip,能让请求的JS\CSS\HTML等静态文件更小,响应速度更快些
目录 ect/nginx/conf.conf
#目录 ect/nginx/conf.conf
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
#gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png application/javascript;
gzip_vary off;
gzip_disable "MSIE [1-6]\.";
include /etc/nginx/conf.d/*.conf;
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
}
之后重启Nginx
service nginx reload
// 添加可以用于安装数据库系统的MySQL存储库
yum localinstall -y https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
//安装
yum install -y mysql-community-server
//启动
systemctl start mysqld
修改root密码
//查看初始密码
grep 'temporary password' /var/log/mysqld.log
2017-10-12T02:37:57.483675Z 1 [Note] A temporary password is generated for root@localhost: **6uRg%NmxG9
mysql -u root -p 回车输入以上查询的密码登录
//关闭密码强度校验
set global validate_password_policy=0;
set global validate_password_length=1;
//修改初始密码换成123456
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
//刷新权限
FLUSH PRIVILEGES;
配置远程访问
//备份
cp /etc/my.cnf /etc/my.cnf_bk
//编辑
vi /etc/my.cnf
//在最后面加上一行
bind-address = 0.0.0.0
//重启
service mysql restart
创建远程访问用户
//-添加一个用户名是root且密码是123456的远程访问用户
CREATE USER 'root'@'%' IDENTIFIED BY '123456';
//如果创建用户提示密码强度不够,则用第2步中的方法关闭密码强度校验
//赋予远程访问权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
//刷新权限
FLUSH PRIVILEGES;
后端传到/www/koa-vue/目录下 前端vue项目也build后,传到此目录下的dist文件夹
然后进入/www/koa-vue目录下pm2运行app.js
pm2 start app.js
在浏览器中打开前端项目,就开看到网站可以访问了
最后再放上本文项目的Github地址,如果这个项目对你有帮助,希望大家可以fork,给我提建议,如果再有时间,可以点个Star那就更好啦~