准备
一共需要安装和配置以下:
- Nginx
- node
- mongoDB
第一步:安装node
安装
安装node有很多种方法,我用源码编译的,奇慢无比,以后不用了!
下面是粘贴官网的教程
curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
sudo yum -y install nodejs
也可以下载编译好的包包解压就行
wget https://nodejs.org/download/release/latest-v6.x/node-v6.10.0-linux-x64.tar.gz
tar --strip-components 1 -xzvf node-v* -C /usr/local
这里来参考有什么版本
https://nodejs.org/download/release/
测试
node -v会不会输出版本
第二步:下载代码
- 用将程序下载到了/home
- 运行 npm install, 会根据项目的package.json来安装依赖
第三步:安装配置Mongo
参考文档:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/
安装
- 新建一个文件 /etc/yum.repos.d/mongodb-org-3.4.repo
- 在文件中填入以下代码
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
- yum install -y mongodb-org
启动
service mongod start //开启
service mongod stop //关掉
看看你的数据库
- 开启mongo shell: 进入/usr/bin, 输入mongo
show dbs
use db_name //转到某个数据库
show collections //显示一个db中的collections
db.collection_name.find() //显示所有条目
第四步:安装配置nginx
安装
- 新建一个文件 /etc/yum.repos.d/nginx.repo
- 在文件中填入以下代码
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
- yum install nginx
装在哪里
- whereis nginx
/usr/sbin/nginx 这是开启nginx的文件
/usr/lib64/nginx
/etc/nginx 包含了nginx.conf,这是nginx的配置文件
/usr/share/nginx
打开
- 直接敲命令:
/usr/sbin/nginx
- 试试成功了没有:在浏览器里输入主机的ip地址,看看有没有welcome to nginx!的页面
- 注意,当你改变了nginx的配置文件之后,需要输入下面指令来重新加载
nginx -s reload
修改配置
nginx的配置文件是/etc/nginx/nginx.conf,打开之后会看到关于server的配置被写/etc/nginx/conf.d/default.conf中,然后被include进了nginx.conf。因此,我们需要修改default.conf的信息:
server {
listen 80;
server_name your_name;
location / {
proxy_pass http://localhost:3000;
}
error_page 500 502 503 504 /50x.html;
location /50x.html {
root /usr/share/nginx/html;
}
}
以上,最关键的就是修改 location / 模块,他的意思是,所有的request路径,只要可以匹配上/,都会被pass到localhost:3000去执行(也就是你的项目地址)。在这里,nginx是一个proxy.
改完之后reload一下。
第五步:打开你的项目
进入项目文件夹
node ./bin/www
即可在浏览器通过公网ip或者你的域名进行访问啦。
有些看上去是nginx的问题(毕竟第一个报错的肯定是nginx啊!)其实不一定是nginx的问题,可能是你自己程序的问题。给自己的程序打好log,很重要哦
永久打开
在项目下:
npm install forever -g
用forever启动项目:
forever start bin/www
forever stopall
forever restart bin/www
更新改动
不管冲突,强制让本地代码变成git上的代码
git reset --hard
git pull origin master