码迷,mamicode.com
首页 > 其他好文 > 详细

nuxt项目部署

时间:2018-11-30 11:28:23      阅读:1167      评论:0      收藏:0      [点我收藏+]

标签:for   keepalive   error_log   info   关闭   end   uil   tar -xvf   ECDHE   

前提: linux服务器

 一、安装node


 

① 下载

cd /usr/local/src/
wget https://nodejs.org/dist/v10.11.0/node-v10.11.0-linux-x64.tar.xz 

   

② 解压

方法一:

tar -zxvf node-v10.11.0-linux-x64.tar.xz   // 如果失败就用下面的方法二

  

备用方法二:

xz -d node-v10.11.0-linux-x64.tar.xz
tar -xvf node-v10.11.0-linux-x64.tar

  

③ 重命名

mv node-v10.11.0-linux-x64 node       

  

④ 环境变量

vim ~/.bash_profile             // 打开文件后键盘输入 i 即可开始编辑
  
PATH=$PATH:$HOME/bin   // 修改前
PATH=$PATH:$HOME/bin:/usr/local/src/node/bin   // 修改后(蓝色是添加的,不要忘了连接符)

改完按键盘左上角Esc键并输入 :wq (冒号+w+q,不要掉了冒号)
最后编译刚刚修改的文件 source ~/.bash_profile

  

⑤ 测试

node -v
npm -v

  

 二、 安装pm2


 

① 安装

npm i -g pm2

  

② 开机自启动

pm2 startup
pm2 save

  

 

三、 nuxt打包上传


 

 

① 本地打包

npm run build

  

② 上传打包后文件(以服务器目录 /web/nuxt 为例) 工具:xftp

 

技术分享图片

③ 运行nuxt项目

 

cd /web/nuxt
pm2 start npm --name "my-nuxt" -- run start    // 初次运行项目用这行代码,引号内是这个进程的名字

  

④ 管理项目

 

pm2 list                   # 查看当前正在运行的进程
pm2 start all             # 启动所有应用
pm2 restart all          # 重启所有应用
pm2 stop all             # 停止所有的应用程序
pm2 delete all           # 关闭并删除所有应用
pm2 logs                 # 控制台显示所有日志

pm2 start 0              # 启动 id为 0的指定应用程序
pm2 restart 0           # 重启 id为 0的指定应用程序
pm2 stop 0              # 停止 id为 0的指定应用程序
pm2 delete 0           # 删除 id为 0的指定应用程序

pm2 logs 0                     # 控制台显示编号为0的日志
pm2 show 0                    # 查看执行编号为0的进程
pm2 monit jsyfShopNuxt     # 监控名称为jsyfShopNuxt的进程

  

 三、nginx 代理配置


 

特别提示:关闭蓝灯等FQ代理软件!!!

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


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;

    #负载均衡服务器
 	upstream nuxt{
    	server localhost:3000 weight=5 max_fails=2 fail_timeout=600s;  // 特别注意,这里是本机localhost,不能写服务器公网ip
    }
	
	
        
    server {
        listen       80;
        server_name  www.lzzj.online;                  // 网站域名

        #charset koi8-r;
        access_log  logs/host.access.log  main;
	 
        #location =/ {
		  #	 root /web/nuxt;  
		  #	 return 302 /index.html;
		  #	 #index index.html;
        #}

       location / {
            proxy_pass http://nuxt;                      // 代理到nuxt服务器
        }
    }
   # server {
   #     listen 443;
   #     server_name localhost;
   #     ssl on;
   #     root html;
   #     index index.html index.htm;
   #     ssl_certificate   cert/1539823761775.pem;
   #     ssl_certificate_key  cert/1539823761775.key;
   #     ssl_session_timeout 5m;
   #     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
   #     ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
   #     ssl_prefer_server_ciphers on;
   #     location / {
   #         root html;
   #         index index.html index.htm;
   #     }
   #  }	

}

  

 

 四、总结


 

大概就这些东西了,经过自己的博客、公司的项目,算是第二次配置,今天蓝灯忘了关,导致代理出错,浪费好久才找到原因

nuxt项目部署

标签:for   keepalive   error_log   info   关闭   end   uil   tar -xvf   ECDHE   

原文地址:https://www.cnblogs.com/hcxy/p/10042485.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!