node项目
部署node项目,删除本地node_modules依赖,
部署到服务器,下载依赖(必须),跑起来(和本地一样),
开启node跑的端口,阿里云防火墙要启(添加规则),服务器也要起,命令:
查看某一端口(防火墙)是否放行:firewall-cmd --zone=public --query-port=3000/tcp
查看(防火墙)放行的所有端口: firewall-cmd --list-all --permanent
增加(防火墙)放行端口:firewall-cmd --zone=public --add-port=3000/tcp --permanent
)
开启端口后重启防火墙:service firewalld restart
重启防火墙,才会生效
开启mongodb端口同理(两边放行),本地Studio 3T连接
服务器这边数据库配置也要改,把bindIp:127.0.0.1改成0.0.0.0(允许所有IP访问,改完后记得改回来)
这样Studio 3T连接才能成功
更新node项目
更新node项目的话,删除掉原有的项目,重新下载依赖,跑起来,这时候跑是跑不起来的,因为pm2还跑着之前那个项目,这时候会提示3000端口被占用。
使用查看pm2跑的项目:
pm2 list
停止pm2下所有的进程
pm2 delete all
pm2重新(包裹)跑一下新的node项目即可
vue项目
npm run build打包,dist文件夹下的内容往wwwroot/123.57.5.134下一扔,hash改为history模式(去掉#)
要先修改router配置
const router = new VueRouter({
mode:'history', //上线打包改为history
routes
})
然后修改nginx配置,正常人都是修改nginx.conf就行,修改内容如下:
http {
include mime.types;
default_type application/octet-stream;
#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 logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /root/project/www; #默认访问目录
index index.html; #默认访问文件
try_files $uri $uri/ /index.html; #目录不存在则执行index.html
}
#error_page 404 /404.html;
... #后面的不需要修改
location中加一句try_files $uri $uri/ /index.html; #目录不存在则执行index.html
我的宝塔面板,不一样,要修改 www/server/panel/vhost/nginx下的123.57.5.134.conf,直接在server中加try_files $uri $uri/ /index.html; #目录不存在则执行index.html
遇到问题,重启云服务器最好使
react项目
也一样,打包部署,去掉#
下一节写jenkins持续集成、部署