Nuxt
我使用的是在端口3001上的hosmynuxt.dev
上配置的Nuxt网站。nuxt.config.js
export default {
server: {
host: process.env.HOST,
port: process.env.PORT,
},
...
}
当我做npm run dev
时,我发现它正确地使用了这些主机和地址。
/etc/主机
我还将其添加到/etc/hosts
:中
127.0.0.1 mynuxt.dev
PM2
然后,我使用pm2
如下:
npm run build
pm2 start
pm2 save
我可以看到网站运行pm2 monit
(日志为空,没有错误(。
Nginx
然后,我按照这里的说明配置了Nginx(我禁用了SSL配置(:
/etc/nginx/sites-available/mynuxt.conf
:
upstream my_nodejs_upstream {
server 127.0.0.1:3001;
keepalive 64;
}
server {
listen 80;
#listen 443 ssl;
server_name mynuxt.dev;
#ssl_certificate_key /etc/ssl/main.key;
#ssl_certificate /etc/ssl/main.crt;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://my_nodejs_upstream/;
proxy_redirect off;
proxy_read_timeout 240s;
}
}
运行Nginx似乎一切都很好,但我在/var/log/nginx/access.log
和/var/log/nginx/error.log
中没有看到任何日志。
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
$ sudo service nginx restart
$ sudo service nginx status
...active (running)...
$ sudo service php7.4-fpm status
...active (running)...
访问网站
为什么在mynuxt.dev
从浏览器访问网站时,我会得到ERR_CONNECTION_REFUSED
?我的配置出了什么问题?
如何调试此问题?
也许它可以帮助你,我不使用"etc/主机";config和我一直在听";localhost:3000";,正如您在下面的配置中看到的(nuxt/pm2/ubuntu(。它运行良好。
Nuxt
在http://localhost:3000/
上运行(作为nuxt.congig.js
中的默认值(
etc/主机
(我不使用它(
pm2
(类似于您的命令(
Nginx
...
location / {
# without upstream on mine, but it's similar to yours
proxy_pass http://localhost:3000/;
}
您必须将mynuxt.dev
添加到/etc/hosts
127.0.0.1 mynuxt.dev
然后重新启动pm2,它会工作的。
如果您有一个.output文件
您的项目名称
- 后端
- 前端
.output
ecosystem.config.js
package.json
NGINX
sudo nano /etc/nginx/sites-available/your_app_name
server{
root /var/www/project_name/frontend/;
index index.html index.htm;
server_name your_server_name;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
切换到启用的站点
sudo nano /etc/nginx/sites-enabled/your_app_name
sudo service nginx restart
sudo service nginx status
状态应为活动
和ecosystem.config.js
module.exports = {
apps: [
{
name: 'yor_app_name', // example "MYAPP"
port: '3000',
exec_mode: 'cluster',
instances: 'max',
script: './.output/server/index.mjs',
}
]
}
和package.json
{
"name": "frontend",
"version": "1.0.0",
"description": "",
"main": "ecosystem.config.js",
"scripts": {
"start": "node .output/server/index.mjs"
},
"keywords": [],
"author": "",
"license": "ISC"
}
完成
pm2 start ecosystem.config.js
pm2 restart MYAPP
在此处输入图像描述你应该让它发挥作用。享受编码!!!