apache服务器部署使用nuxtjs框架开发的vue服务端渲染项目
由于服务端渲染需要在服务器运行nodejs,因此nodejs必须提前安装好
项目代码通过git或ftp传到服务器之后,执行npm install,安装必须的依赖。
在我们项目package.json中我们添加这几条命令,在服务端我们只需执行npm run server即可
"scripts": { "dev": "nuxt", "build":"nuxt build", "start":"nuxt start", "server": "nuxt build && nuxt start", "test": "echo \"Error: no test specified\" && exit 1" },
执行成功之后,会看到项目已经成功运行,网址为http://localhost:3000/
但是要被外部访问,必须设置域名转发
首先修改httpd.conf,开启代理功能,找到如下几行,去掉注释
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so
然后配置域名,设置转发
<VirtualHost *:80> ServerAdmin ****@**.com DocumentRoot "/www/yourroot/" ServerName userside.cn ServerAlias www.userside.cn ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000/ ErrorLog "logs/userside_cn_log" CustomLog "logs/userside_cn_log" common </VirtualHost>
设置好域名之后,重启服务器,然后在项目下执行 npm run server,正常应该可以通过域名访问了。
但是我们关闭命令行后,项目也就无法访问了,可以使用pm2进行进程管理
pm2是node的进程管理工具
PM2是node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。
全局安装PM2
npm install -g pm2
安装之后设置软连接
ln -s /usr/local/node-v10.16.0-linux-x64/bin/pm2 /usr/local/bin
进入到项目所在目录
执行如下命令,将yourName换成你的项目名,这个是给这个进程起的名称,可以随意 --watch代表监听项目文件,当文件发生变化是,自动重新加载如下指令,这样就很方便了,当我们更改代码之后,只需要传到服务器即可,pm2会自动监听,重新执行 npm run server
pm2 start npm --name yourName -- run server --watch
这样就完成服务器部署了,可能有的同学还想服务器重启之后自动运行这个命令,使用pm2也很简单只需执行如下命令即可
pm2 startup
-END-
点赞(2)