版权声明:本文由袁飞翔原创文章,转载请注明出处:
文章原文链接:https://www.qcloud.com/community/article/176
来源:腾云阁 https://www.qcloud.com/community
最近入手了一台腾讯云机子,用于团队社区站点的建设,站点架构:
- 数据库服务:mongodb
- 后台:nodejs + express
- 接入:nginx
整个购买到部署的要点步骤:
- 服务器购买
- nginx 编译安装配置
- node 安装
- mongodb 安装
- server部署
服务器购买
从腾讯云的首页找到购买入口。(弱弱的说一句,云太多了,企鹅云发展好快~~~ )
按需选择自己的配置,包年可以优惠只需付10个月。最终我们的配置
选购硬盘时需要注意可以选择云硬盘,它支持很多扩容,性能按官方的描述没有多大差别,详细硬盘对比
购买成功几分钟之后我们便能拿到机器的IP
登录机器
ssh ubuntu@119.29.237.x
第一次使用用户名和密码登录,之后可以配置ssh的免密码登录
nginx 安装
使用apt-get
安装nginx
sudo apt-get install nginx
这是最简单的方法,但是这不是最新的nginx,如果需要支持http2,至少需要nginx 1.9.5,因此我们选择本地编译最新的nginx安装
wget https://nginx.org/download/nginx-1.10.1.tar.gz tar -xvf nginx-1.10.1.tar.gz cd nginx-1.10.1 # 安装编译依赖 sudo apt-get install make libssl-dev zlib zlib-devel zlib1g-dev openssl openssl-devel pcre-devel \ libpcre3-dev libpcre++-dev # 编译安装 ./configure --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module \ --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module \ --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module \ --with-http_stub_status_module --with-http_auth_request_module --with-mail --with-mail_ssl_module \ --with-file-aio --with-ipv6 --with-cc-opt='-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' \ --with-http_v2_module make sudo make install # 之后nginx将安装至 /usr/local/nginx目录 # 创建一个nginx命令软连接 sudo ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/nginx # 之后就可以运行`nginx`命令了 nginx -V # 配置nginx的自动启动 # 下载init.d/nginx文件 sudo wget https://raw.githubusercontent.com/JasonGiedymin/nginx-init-ubuntu/master/nginx -O /etc/init.d/nginx sudo chmod +x /etc/init.d/nginx # 添加开机自动启动 sudo update-rc.d -f nginx defaults # 启动 sudo /etc/init.d/nginx start # sudo /etc/init.d/nginx stop # 停止 # sudo /etc/init.d/nginx restart # 重启
mongodb 安装
mongodb可以直接使用apt-get
安装
sudo apt-get install mongodb # 添加开机自动启动 sudo update-rc.d -f mongodb defaults # 启动 sudo /etc/init.d/mongodb start
node 安装
# 从node官网下载已编译好了的node wget https://nodejs.org/dist/v4.6.0/node-v4.6.0-linux-x64.tar.xz tar -xvf node-v4.6.0-linux-x64.tar.xz cd node-v4.6.0-linux-x64.tar.xz # 拷贝安装 sudo cp -r bin include lib share /usr/local/ # node 命令测试 node -v
server部署
准备工作:
# 创建目录 sudo mkdir -p /data/www/ivweb.io # 创建用户 sudo groupadd www # 创建用户 # nginx也使用此用户运行 sudo useradd www -g www -d /data/www # /data目录权限 sudo chown www:www /data # 安装forever sudo npm install -g forever
本地使用rsync命令同步文件至服务器(Linux/Mac,windows的同学需要先安装这个命令)
rsync -rtzvlC --exclude node_modules --exclude ".git" \ ./ "www@ivweb.io:/data/www/ivweb.io"
启动服务
# 使用www登陆服务器 cd /data/www/ivweb.io # 安装依赖 npm install # forever 启动app forever start app.js # 可以使用`forever list`查看运行情况及对应的log输出文件,使用`tail -f`动态查看log forever list # tail -f XXX.log
之后配置nginx映射,重启nginx机大功告成: