node项目部署阿里云

之前在阿里云买了个云服务器就简单的安装了一下node.js环境,现在做点笔记记录下来

node环境安装

参考文章

mongodb安装

参考文章

以配置文件启动,先在etc目录下创建mongodb.conf

touch /etc/mongodb.conf

一份简单的配置文件

# 数据库文件位置
dbpath=/var/mongodb/data
# 日志文件位置
logpath=/var/mongodb/logs/log.log
# 是否以守护进程方式运行(后台运行)
fork=true
# 端口号,默认27017
port=27017
# 是否以安全认证方式运行,默认是不认证的非安全方式(用户名和密码)
auth=true

启动命令

/usr/local/mongodb/bin/mongod --config /etc/mongodb.conf

有时候我们会重启mongodb服务,一般推荐进入admin然后使用db.shutdownServer()关闭,但如果开启了权限访问,db.shutdownServer()有可能会报错,原因是权限不足,而hostManger这个角色具有shutdown的权限,所以可以先给用户添加hostManger这个角色

db.grantRolesToUser( "username" , [ { role: "hostManager", db: "admin" } ])

然后再db.shutdownServer()就可以关闭mongodb服务了。当然你也可以kill pid

参考文章    参考文章    参考文章

nginx安装

本次安装版本是1.8.1

先安装依赖库

yum -y install make gcc gcc-c++ glibc glibc-devel lsof   pcre pcre-devel  zlib zlib-devel  openssl openssl--devel

下载nginx压缩包

cd /usr/local
wget https://nginx.org/download/nginx-1.8.1.tar.gz

解压

tar zxvf nginx-1.8.1.tar.gz

在安装之前需要进行配置,这也是linux下安装软件的常见步骤。初次安装可以直接使用configure脚本,如果有需要可以设置开关选项开启需要的功能模块,这里就不展开了。相关命令如下:

./configure
make
make install

检查是否安装成功

cd  /usr/local/nginx/sbin
./nginx -t

结果显示

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successfu

启动

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

ps:/usr/local/nginx/conf/nginx.conf 这个 Nginx.conf的配置文件存放路径

重启

/usr/local/nginx/sbin/nginx -s reload

nginx启动之后访问你的IP地址就会出现这个界面

如果无法访问那应该是阿里云控制台那边没有开放端口访问,解决办法

nginx反向代理后程序获取客户端ip地址的问题

nginx反向代理后,在应用中取得的ip都是反向代理服务器的ip,取得的域名也是反向代理配置的url的域名,解决该问题,需要在nginx反向代理配置中添加一些配置信息,目的将客户端的真实ip和域名传递到应用程序中。

在代理的location中添加以下配置

proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;

解释:

1. Host包含客户端真实的域名和端口号; 
2. X-Forwarded-Proto表示客户端真实的协议(http还是https); 
3. X-Real-IP表示客户端真实的IP; 
4. X-Forwarded-For这个Header和X-Real-IP类似,但它在多层代理时会包含真实客户端及中间每个代理服务器的IP。

最后完整的一个server

server{
	listen 80;
	server_name fengyongru.com;
	location / {
		proxy_pass http://ip:port;
		proxy_set_header Host $http_host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Forwarded-Proto $scheme;
	}
	#静态资源缓存
	location ~.*\.(gif|jpg|png|htm|html|css|js|flv|ico|swf)(.*) {
		proxy_pass http://ip:port;
		expires 1d;
	}
}

 

参考文章   参考文章   参考文章

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值