bash, sudo yum update,
`,,2. 安装 EPEL(Extra Packages for Enterprise Linux)仓库:,
`bash, sudo yum install epel-release,
`,,3. 安装 Node.js:,
`bash, sudo yum install nodejs,
`,,4. 验证 Node.js 安装:,
`bash, node -v,
`,,5. 安装 npm(Node 包管理器):,
`bash, sudo yum install npm,
`,,6. 验证 npm 安装:,
`bash, npm -v,
`,,7. 安装 Web 服务器,Nginx:,
`bash, sudo yum install nginx,
`,,8. 启动并启用 Nginx:,
`bash, sudo systemctl start nginx, sudo systemctl enable nginx,
`,,9. 配置域名:, 编辑 Nginx 配置文件
/etc/nginx/nginx.conf。, 添加新的服务器块来处理你的域名请求。, 保存并退出编辑器。,,10. 重启 Nginx 以应用更改:,
`bash, sudo systemctl restart nginx,
“,,你应该能够在浏览器中通过你的域名访问运行在 Node.js 上的应用程序。在CentOS上安装Node.js并配置域名是一个常见的操作,特别是在开发和部署Web应用时,下面将详细介绍如何在CentOS上安装Node.js以及如何配置域名来访问你的Node.js应用。
一、安装Node.js
1. 使用源码安装
源码安装是一种非常灵活的方式,可以下载指定版本的Node.js源码并进行编译安装,这种方式适合需要特定版本或进行自定义配置的场景。
下载源码:去官网下载对应的安装包。
wget https://nodejs.org/dist/v9.8.0/node-v9.8.0.tar.gz
解压文件:下载完成后,解压文件。
tar -zxvf node-v9.8.0.tar.gz
进入目录并编译安装:进入解压后的目录,运行./configure
、make
和sudo make install
命令进行编译安装。
cd node-v9.8.0 ./configure make sudo make install
验证安装:安装完成后,可以通过以下命令检查Node.js和npm是否安装成功。
node -v npm -v
2. 使用EPEL安装(推荐)
EPEL(Extra Packages for Enterprise Linux)是一个为Red Hat Enterprise Linux提供附加软件包的项目,它提供了一些官方源中没有的软件包,包括Node.js。
安装EPEL源:安装EPEL源。
sudo yum install -y epel-release
启用NodeSource存储库:添加NodeSource存储库。
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash
安装Node.js:启用存储库后,通过yum安装Node.js。
sudo yum install -y nodejs
验证安装:同样,通过node -v
和npm -v
命令检查安装是否成功。
3. 使用NVM安装
NVM(Node Version Manager)是一个管理多个Node.js版本的工具,它允许用户在同一系统上安装和使用多个版本的Node.js,并且可以轻松地在它们之间切换。
下载并安装NVM:从GitHub上克隆NVM的安装脚本并运行它。
curl -ohttps://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
加载NVM脚本:让NVM脚本在当前会话中生效。
export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion" # This loads nvm bash_completion
列出可用的Node.js版本:安装完成后,列出NVM提供的Node.js版本。
nvm ls-remote
安装指定版本的Node.js:通过NVM安装指定版本的Node.js。
nvm install v14.17.0
设置默认版本:如果需要将某个版本设置为默认版本,可以使用以下命令。
nvm alias default v14.17.0
验证安装:同样,通过node -v
和npm -v
命令检查安装是否成功。
二、配置域名
1. DNS解析
要通过域名访问你的服务器,首先需要在DNS提供商处配置DNS记录,将域名指向你的服务器IP地址,以下是具体步骤:
注册域名:选择一个域名注册商(如GoDaddy、Namecheap等)并注册一个域名。
配置A记录:登录到DNS提供商的管理界面,找到你的域名,并添加一条A记录,将域名指向你的服务器IP地址,如果你的服务器IP地址是123.123.123.123
,则添加一条A记录,将example.com
指向该IP地址。
2. 配置Nginx反向代理
为了将来自域名的HTTP请求转发到Node.js应用,我们需要配置一个Web服务器(如Nginx)作为反向代理,以下是使用Nginx作为反向代理的配置步骤:
安装Nginx:如果还没有安装Nginx,可以通过以下命令安装。
sudo yum install -y nginx
配置Nginx:编辑Nginx的配置文件,通常位于/etc/nginx/conf.d/
目录下,创建一个新文件(如myapp.conf
),并添加以下内容,将域名指向Node.js应用运行的端口(假设为3000):
server { listen 80; server_name example.com www.example.com; 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; } }
测试Nginx配置:保存文件后,测试Nginx配置是否正确。
sudo nginx -t
重新加载Nginx:如果没有错误,重新加载Nginx以应用新的配置。
sudo systemctl reload nginx
3. SSL证书(可选)
为了提高安全性,建议为你的域名配置SSL证书,你可以使用Let’s Encrypt免费获取SSL证书,并自动配置Nginx,以下是使用Certbot获取并配置SSL证书的步骤:
安装Certbot:安装Certbot工具。
sudo yum install -y certbot python3-certbot-nginx
获取SSL证书:使用Certbot获取SSL证书,并自动配置Nginx。
sudo certbot --nginx -d example.com -d www.example.com
自动续期:Certbot会自动为你配置一个系统任务,以便在证书到期前自动续期,你可以通过以下命令手动测试续期过程。
sudo certbot renew --dry-run
三、部署Node.js应用
配置好Nginx反向代理后,你就可以将Node.js应用部署到服务器上了,以下是一个简单的示例,展示如何使用Express框架创建一个简单的Node.js应用,并将其部署到3000端口。
创建项目目录:创建一个新的项目目录。
mkdir myapp && cd myapp
初始化项目:使用npm初始化一个新的Node.js项目。
npm init -y
安装Express:安装Express框架。
npm install express --save
创建应用:创建一个名为app.js
的文件,并添加以下代码。
const express = require('express');
const app = express();
const port = process.env.PORT || 3000;
app.get('/', (req, res) => {
res.send('Hello, world!');
});
app.listen(port, () => {
console.log(Server running on port ${port}
);
});
启动应用:保存文件后,使用以下命令启动Node.js应用。
node app.js &
至此,你应该已经成功在CentOS上安装了Node.js,并通过Nginx配置了域名,使你的Node.js应用可以通过域名访问,记得根据实际需求调整配置文件和安全设置。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1392426.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复