在Centos部署nodejs的步骤
<p>今天突然发现自己买了一年快过期了的搬瓦工,除了少数时间拿来当梯子用用其它也没用上,所以流量还剩这么多。。。</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="在Centos部署nodejs的步骤" alt="在Centos部署nodejs的步骤" src="https://zhuji.jb51.net/uploads/img/202305/305f557f4a8c71751d34005fb1bf52c1.jpg"></p>
<p>
所以就想试试把本地写的nodejs的demo部署上去看看。</p>
<p>
顺便把原来买的域名解析上去QAQ</p>
<p>
<strong>安装node和npm</strong></p>
<p>
在官网下载编译好的node包:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_985868">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">wget https:</code><code class="bash plain">//nodejs</code><code class="bash plain">.org</code><code class="bash plain">/dist/v6</code><code class="bash plain">.10.2</code><code class="bash plain">/node-v6</code><code class="bash plain">.10.2-linux-x86.</code><code class="bash functions">tar</code><code class="bash plain">.xz</code>
</div>
<div class="line number2 index1 alt1">
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">xz -d node-v6.10.2-linux-x86.</code><code class="bash functions">tar</code><code class="bash plain">.xz</code>
</div>
<div class="line number4 index3 alt1">
</div>
<div class="line number5 index4 alt2">
<code class="bash functions">tar</code> <code class="bash plain">-xf node-v6.10.2-linux-x86.</code><code class="bash functions">tar</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
解压后得到 <code>node-v6.10.2-linux-x86 </code>文件夹,里面有个<code> bin </code>目录,包含了我们需要的 <code>node </code>和 <code>npm </code>。</p>
<p>
这里需要注意的是, <code>npm</code> 是链接到<code> ../lib/node_modules/npm/bin/npm-cli.js </code>的,不能直接拷贝到 <code>/usr/bin/ </code>,否则会出错,可以使用 ll 看到。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_598272">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">-rwxrwxr-x 1 500 500 28746408 Apr 4 05:04 node</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">lrwxrwxrwx 1 500 500 38 May 1 08:03 npm -> ..</code><code class="bash plain">/lib/node_modules/npm/bin/npm-cli</code><code class="bash plain">.js</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<strong>配置环境变量</strong></p>
<p>
编辑 /etc/profile 文件:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_940340">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">vi</code> <code class="bash plain">/etc/profile</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
增加路径:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_855015">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">PATH=$PATH:</code><code class="bash plain">/home/node-v6</code><code class="bash plain">.10.2-linux-x86</code><code class="bash plain">/bin</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash functions">export</code> <code class="bash plain">PATH</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash functions">source</code> <code class="bash plain">/etc/profile</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<strong>新建nodejs项目</strong></p>
<p>
我自己的代码就不献丑了,这里就拿网上的一个demo来看看效果好了。 demo</p>
<p>
安装git:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_779716">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">yum </code><code class="bash functions">install</code> <code class="bash plain">git</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
ok, 在服务器拉下demo的代码, npm install ,然后使用 pm2 来运行程序。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_359701">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">npm </code><code class="bash functions">install</code> <code class="bash plain">pm2 -g</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">pm2 start start.js -n demo</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
输入<code> IP:8080 </code>就能看到 <code>Hello World! </code>了!</p>
<p>
<strong>域名绑定到ip</strong></p>
<p>
想起来原来有一个空闲的域名,正好试下域名绑定。</p>
<p>
在域名的 A 记录填写服务器的ip地址,等其生效即可。</p>
<p>
访问</p>
<p>
然后通过域名直接访问,发现并不能访问到我们的程序,因为默认访问的端口是 80 ,而我们监听的端口是 8080 。这里可以通过:</p>
<ol>
<li>
Nginx 反向代理</li>
<li>
iptables 端口转发</li>
</ol>
<p>
为了简单,直接用 iptables 端口转发了。。。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_837073">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">service iptables save </code><code class="bash plain">//</code><code class="bash plain">保存规则</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
这下可以愉快的通过域名访问刚刚部署的nodejs服务了。。。</p>
<p>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。</p>
<p>
原文链接:http://www.alonemonkey.com/2017/05/01/nodejs-on-centos/</p>
頁:
[1]