控制台基本配置
腾讯云的使用说明还是很详细和通俗的,链接附在下面:
1. 选择安装系统
系统安装我这里选择了最新的 CentOS7.5,大概等10分钟左右系统安装完毕。
2. 更改密码 & 使用SSH密钥
我们首先更改初始密码,但是除了密码登录方式外,还有一种更为便捷和安全的方式,就是使用SSH秘钥进行登录。
创建 SSH 密钥
创建密钥这里选择创建密钥,然后选择创建新密钥对。输入密钥名称确定,这时会弹出下载提示,请在10分钟内下载(保存好,后面还要用)。
密钥绑定服务器
选中刚才创建的密钥,点击绑定实例,选择自己的服务器后确定,之后按照提示操作就可以了。
3. 创建安全组
我们可以配置安全组,来控制哪些端口是可以外网访问的。
创建安全组 新建安全组我这里选择了系统的默认模板,如果有需要,还可以修改规则。
配置好安全组后,点击右侧管理实例 → 新增关联 → 选择自己的服务器 确定关联就可以了。
远程连接
我们使用 PuTTY 连接云服务器:
1. 安装 PuTTY
安装好 PuTTY 后,可以看到这两个软件:
截图接下来我们就要用的这两个软件。
2. 密钥转换
打开 PuTTYgen ,加载我们前面下载的密钥文件,然后在 key comment 栏中输入密钥名,输入加密私钥的密码,单击【Save private key】,在弹窗中选择要保存的地方保存。
截图 截图3. 连接服务器
打开 PuTTY,然后按图示操作:
截图如上图找到 SSH → Auth 选项,加载刚才用 PuTTYgen 转换过的密钥
截图然后点击 Seesion 输入云服务器的 IP 地址,点击 Save 保存,方便下次直接访问,最后点击 Open 打开。
截图直接输入:root 即可远程登录服务器了。
更新系统及软件
yum update -y
腾讯云安装的系统自带了 net-tools 和 vim 等软件,这里就不安装了,如果没有,建议安装一下。
yum install vim
yum install net-tools
node 安装
1. 添加源
curl -sL https://rpm.nodesource.com/setup_10.x | bash -
2. 安装
yum install nodejs -y
3. 安装 cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
参考:https://github.com/nodesource/distributions
nginx 安装
1. 添加源
创建文件:
vim /etc/yum.repos.d/nginx.repo
添加如下内容:
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
参考:http://nginx.org/en/linux_packages.html
2. 安装
yum install nginx -y
3. 运行
nginx
此时可以在浏览器输入你的云服务器 ip 地址查看有没有反应了。如果有显示,恭喜你可以进行接下来的配置了。如果没有,就看看nginx是否安装成功,服务器防火墙是否关闭,安全组有没有配置好。
4. 常用命令
// 启动
nginx
systemctl start nginx.service
// 停止
nginx -s stop // 立即停止
nginx -s quit // 从容停止
killall nginx // 杀死进程
systemctl stop nginx.service
// 重启
systemctl restart nginx.service
// 重新载入配置
nginx -s reload
// 查看进程
ps aux | grep nginx
// 查看开启的端口
netstat -tlnp
mongodb 安装
1. 添加源
新建文件:
vim /etc/yum.repos.d/mongodb-org-4.0.repo
添加如下内容:
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
2. 安装
yum install -y mongodb-org
3. 常用命令
service mongod start // 启动
service mongod stop // 关闭
service mongod restart // 重启
chkconfig mongod on // 验证是否启动
// centos7 建议使用如下命令
systemctl start mongod.service // 启动
cat /var/log/mongodb/mongod.log // 验证是否成功启动
ystemctl enable mongod.service // 设置开机启动
systemctl stop mongod.service // 关闭
systemctl restart mongod.service // 重启
服务器配置
1. 新建目录
/data
目录下新建如下目录:
-
www/blog
用于存放博客站文件 -
mongo/db
用于存放数据库文件 -
mongo/log
用于存放数据库log文件
mongo/log
目录下新建 mongod.log
文件
2. nginx配置
创建新用户 www,并让nginx也使用该用户:
groupadd www // 创建用户
chown www:www /data // 添加用户权限
打开 nginx 主配置文件:
vim /etc/nginx/nginx.conf
做如下修改:
user www; // 默认用户修改为 www
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
打开 nginx server配置文件:
vim /etc/nginx/conf.d/default.conf
做如下修改:
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /data/www; // 网站文件存放目录
index index.html index.htm;
proxy_set_header host $host; // 重定义请求头host为转发的host
proxy_pass http://localhost:3000/; // 端口转发
proxy_cookie_domain localhost xxx.xxx.xxx.xxx; // 使转发的cookie到新的域名
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
注意上面的这三项配置:
proxy_set_header host $host;
proxy_pass http://localhost:3000/;
proxy_cookie_domain localhost xxx.xxx.xxx.xxx;
因为博客项目将以 node 为服务器程序,它将占用 3000 端口,而用户端不能访问服务器的 3000 端口,因此需要用 nginx 进行转发。
nginx 转发后,其请求头将是 localhost:3000
,这是我们不想让客户看到的,所以需要用 proxy_set_header host $host;
将请求头转换为我们的域名。
我们的网站会在用户端存储一些cookie,这个也需要重新定位,否则用户端将接收不到这些cookie,这里使用 proxy_cookie_domain localhost xxx.xxx.xxx.xxx;
将cookie重新定位,xxx.xxx.xxx.xxx
是我们的域名。
完成以上配置后,我们输入以下命令,重新加载配置项:
nginx -s reload
3. 数据库配置
打开 mongodb 配置文件:
vim /etc/mongod.conf
进行如下配置:
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /data/mongo/log/mongod.log // log文件位置
# Where and how to store data.
storage:
dbPath: /data/mongo/db // 数据存储目录
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# how the process runs
processManagement:
fork: true # fork and run in background
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
timeZoneInfo: /usr/share/zoneinfo
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
# security:
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options
#auditLog:
#snmp:
保存以后,给 /data/mongo
及其子目录下所有文件添加用户:mongod
chown -R mongod:mongod mongo
此时输入命令运行数据库:
systemctl start mongod.service
如果提示错误,缺少 pid 文件,则进入目录 /var/run/mongodb
新建文件 mongod.pid
touch mongod.pid
重启数据库即可:
systemctl restart mongod.service
4. 数据库添加用户、开启验证
连接数据库:
mongo
添加用户:
// 超级管理员
use admin
db.createUser({
user: 'root', // 用户名
pwd: 'password', // 密码
roles:[{
role: 'root',
db: 'admin'
}]
})
use blog // 创建数据库 blog,并切换到 blog
// blog管理员,用于创建集合,管理数据库,添加删除blog用户等的操作
db.createUser({
user: 'blogadmin',
pwd: 'password',
roles:[{
role: 'dbOwner',
db: 'blog'
}]
})
// blog用户,用户端用于连接数据库的用户,只有读写操作的权限
db.createUser({
user: 'blog',
pwd: 'password',
roles:[{
role: 'readWrite',
db: 'blog'
}]
})
打开配置文件:
vim /etc/mongod.conf
找到如下语句,并做修改:
# security:
// 修改为:
security:
authorization: enabled // 开启验证
本来想远程用可视化软件连接数据库的,但是尝试了几种网上的办法均告失败,不过几条数据通过命令行就能搞定,多条数据就用我的笨办法:本地写好js文件,然后上传到服务器,node运行一下。
5. 上传文件
下载安装WinSCP
:
新建站点:
WinSCP选择高级,添加我们的SSH密钥,填写服务器 IP 地址,服务器的用户名然后保存。在左侧列表中选中保存的站点,登录就可以了。
直接把我们打包好的文件拖进右侧对应目录即可:(打包时注意一些链接要改为我们现在的服务器ip或者域名)
截图在 PuTTY 进入目录 /data/www/blog
输入命令安装项目的依赖:
npm i // 或者 cnpm i
安装完成后,运行:
node index.js
然后在浏览器输入服务器 IP,这时就可以正常访问我们的网站了。
网友评论