Centos 从零开始 (二)

因为我是搞 nodejs的 所以以后会安装一些依赖于node的 比如mongodb数据库等。
6:安装nodejs
安装的时候遇到个小问题。yum install nodejs 报错 说没有这个包。然后各种百度才发现要安装一个 第三方的源。安装完可以看 ls /etc/yum.repos.d/ 多出的东西。就相当远 自动帮我们配置yum源。
总的执行命令是。
[root@localhost ~]#  yum install nodejs
[root@localhost ~]# yum install mongodb
[root@localhost ~]# node -v
这个时候我用express 创建了一个项目 然后启动这个项目 用windos去访问centos这个ip的时候例如浏览器里(192.168.1.52:3000) 发现连不上网页 这是因为 centos防火墙导致的。。可以用iptables命令解除掉,这里我吧所有规则都清空了 。因为是小白所以暂时只为搭建使用 没有细致的研究这个命令
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
7:利用nginx反向代理node程序。
以后安装nginx会用wget安装,如果机器只是学习的话可以按照步骤走
[root@localhost ~]# node app 
#启动一下node web程序这里不写代码了。如果用express 创建,则是 npm start (你懂的。) 例如他的端口是 3000 那本地的服务器就是 localhost:3000
[root@localhost ~]# yum install nginx         #下载nginx
用yum源配置 。我这里的 nginx 是安装在 /etc/nginx目录下的,
1,nginx的配置文件 在 /etc/nginx/nginx.conf
2 , 我们可以在 /etc/nginx/conf.d 目录下面 假如我创建一个 test.conf 例如
[root@localhost ~]# cd /etc/nginx/conf.d
[root@localhost conf.d ]# vi test.conf
3 , 我在这个文件里写入一些配置内容 。
server {
    listen 80;
    location / {
        proxy_pass http://localhost:3000;
    }
}
[root@localhost conf.d ]# tail ../nginx.conf #将配置文件包含进主文件。
这时候 可以查看下 nginx.conf文件。
[root@localhost ~]# cat /etc/nginx/nginx.conf
可以看到 http { } 里包含着这样一个字段  include /etc/nginx/conf.d/*.conf 这表示成功了。如果没有可以手动添加。 
>>>>>>>>>>>>>>>>>>> 以下则是对配置文件的讲解。
这里 80 端口 是nginx反向代理的端口。
1 , 比如说 利用 ip addr 查看得知 内网的ip 是 192.168.1.52 
2 , 启动的node程序端口是 3000
所以说 在上述配置文件下 proxy_pass 中的参数 就代表node程序。这样 当我访问 192.168.1.52:80端口 他就会自动跳转到 192.168.1.52:3000端口也就是localhost:3000端口。
因为 80端口是默认 所以访问192.168.1.52就ok 了 同理 如果我把listen 80 写成 listen 8080 那这个时候 访问 192.168.1.52:8080 则也会跳转到 localhost :3000
这里 我启动了 nginx 服务
[root@localhost ~]# nginx
然后当我用我局域网 win7的操作系统访问 192.168.1.52会跳转到一个nginx页面。并没有跳转到 node页面。但是如果我们在配置文件上的listen改成8080 然后访问8080端口他就会正常的跳转到3000端口。
这是因为80端口被这个页面所占用。所以错误,但是nginx是启动了的。(如正常访问则跳过这步)
这个时候可以看一下 nginx.conf是如何配置的。
[root@localhost ~]# cat /etc/nginx/nginx.conf
这个时候 还是看 http { } 里面。然后重点找一个 root /usr/share/nginx/html 
他被一个 server 包裹 而这个server 里的 listen 都是80所以导致80端口占用。所以我把这两个listen 改成8080 ,这个时候80端口将不会被占用
然后重启nginx
[root@localhost ~]# nginx -s stop
[root@localhost ~]# nginx
大功告成。
顺带一提。如果不是yum 安装的 nginx 而是wget下载的包 当make install 他是没有内部命令的 。他安装的文件将是  /usr/local/nginx
这个时候如果想使用 nginx这个命令 就要:
[root@localhost ~]# /usr/local/nginx/sbin/nginx    #启动nginx
[root@localhost ~]# /usr/local/nginx/sbin/nginx -t #看他的配置文件地址
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload #重启 nginx
----------------------------------------------------------------------------------------------------------------------------------------------------------------------


原文地址:https://www.cnblogs.com/dandingjun/p/6003581.html