域名解析就是将域名和服务器的IP关联起来,访问网站时就可以直接输入域名访问了。
首先进入腾讯云的控制台界面,鼠标悬浮在左上角云产品
,出现搜索框,输入解析
,选择DNS 解析 DNSPod
(吐槽一下,这个域名的位置我找了老半天。。。。。。),在域名列表中找到你要解析的域名,点击解析
,进入新页面后,点击添加记录
主机记录:这里选择www
和@
一般我们只需要添加上面这两条就够了,即解析带wwww和不带wwww的
一般我们只需要添加上面这两条就够了,即解析带wwww
和不带wwww
的,记录值填服务器外网IP
第一次创建实例后,腾讯云会生成一个随机密码,为了便于自己记忆,建议进行修改,同时,该密码也是实例所安装的CentOS
系统的密码,后面使用Xshell
连接服务器时就是输入这个
腾讯云文档
入站
就是其他服务器或者程序访问你,出站
就是你访问其他服务器或者程序,通过创建入站和出站规则,从而阻挡或者允许特定程序或者端口进行连接
安全组配置里面主要注意入站规则
的配置,只有规则里面添加了的协议或者端口号,才能访问该服务器。
你可以点击一键放通,会放通常用端口和协议:
22
: ssh默认端口,Xshell
连接需要用到3389
:Windows 2000(2003) Server远程桌面的服务端口80
: 是为HTTP即超文本传输协议开放的端口,浏览器访问http协议网站的默认端口443
: 主要是用于HTTPS服务,浏览器访问https网站的端口20
:用于ftp,21端口用于连接,20端口用于传输数据。21
:用于ftp,21端口用于连接,20端口用于传输数据。ICMP(协议)
:ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息一键放通可能无法满足你的所有需求,所以你也可以点击添加规则
手动添加,如下图所示:
0.0.0.0/0
,表示所有网段协议:端口号
,例如TCP:1234
SSH协议
SSH
协议默认端口号是22注意:确保在云服务器安全组的入口规则中添加22
端口
CentOS
默认用户名,这里只能填root
,除非去系统修改默认用户名yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh 2f7625
复制以上命令,粘贴在Xshelll
命令面板,回车,等待安装即可,安装完成后,最后会输出如下:
外网面板地址: http://***.***.***.***:8888/d****db
内网面板地址: http://***.***.***.***:8888/d****db
username: ht****as
password: b2****bc
If you cannot access the panel,
release the following panel port [1018] in the security group
若无法访问面板,请检查防火墙/安全组是否有放行面板[8888]端口
复制以上内容保存在本地,以防忘记!!!
确保在云服务器安全组的入站规则
中开放8888
端口,因为宝塔面板的默认端口就是8888
,在浏览器地址栏输入上一步生成的外网面板地址
,输入账号、密码,即可打开宝塔面板
域名栏:如果已经做了备案和域名解析可以输入域名,如果没有,可以输入服务器外网IP,提交之后,会在/www/wwwroot
下创建一个以你填写的域名或者IP为名的文件夹,这个文件夹就是站点根目录
外网面板访问地址
中的端口,如果这里修改,记得在服务器安全组的入口规则
和宝塔面板的安全
中添加放行你设置的端口号外网面板访问地址
中端口号后面那传随机码,你可以修改成自己想要的,修改后必须通过该地址访问如果没有修改宝塔面板的安全入口,而且也没有在本地保存,导致忘记入口地址,或者忘记登陆账号密码,无法进入宝塔面板,可以在使用Xshell
连接服务器后,通过一下命令查看入口地址及账号或修改密码:
/etc/init.d/bt default(打开命令面板)
[root@VM-16-10-centos ~]# /etc/init.d/bt
===============宝塔面板命令行==================
(1) 重启面板服务 (8) 改面板端口
(2) 停止面板服务 (9) 清除面板缓存
(3) 启动面板服务 (10) 清除登录限制
(4) 重载面板服务 (11) 取消入口限制
(5) 修改面板密码 (12) 取消域名绑定限制
(6) 修改面板用户名 (13) 取消IP访问限制
(7) 强制修改MySQL密码 (14) 查看面板默认信息
(22) 显示面板错误日志 (15) 清理系统垃圾
(23) 关闭BasicAuth认证 (16) 修复面板(检查错误并更新面板文件到最新版)
(24) 关闭谷歌认证 (17) 设置日志切割是否压缩
(25) 设置是否保存文件历史副本 (18) 设置是否自动备份面板
(0) 取消
===============================================
请输入命令编号:5
===============================================
正在执行(5)...
===============================================
请输入新的面板密码:
bt default(查看入口地址和账号密码)
[root@VM-16-10-centos ~]# bt default
==================================================================
BT-Panel default info!
==================================================================
外网面板地址: http://***.****.***.***:****/XXXX
内网面板地址: http://***.****.***.***:****/XXXX
*以下仅为初始默认账户密码,若无法登录请执行bt命令重置账户/密码登录
username: XXX
password: **************
If you cannot access the panel,
release the following panel port [XXXX] in the security group
若无法访问面板,请检查防火墙/安全组是否有放行面板[XXXX]端口
==================================================================
注意:这里的密码只显示初始密码,即自己更改系统生成的密码后重置的密码,如果你后续又更改了密码,这里还是只显示第一次的密码
cd /www/server/panel && python tools.py panel 新密码(重置密码)
[root@VM-16-10-centos panel]# cd /www/server/panel && python tools.py panel XXXXXXX
XXXX
rm -f /www/server/panel/data/*.login(清除登录限制)
如果提示多次登录失败,暂时禁止登录 可以使用此命令清除登录限制
除了以上方法,也可以直接关闭安全入口,关闭之后,直接使用域名或者IP:8888
(宝塔面板默认端口是8888)访问宝塔面板,就没有后面那一串随机码,不过不建议这么做,可以在关闭之后,登陆面板,然后再在面板设置
中添加安全入口,建议设置为自己熟悉但是不常见的
请确保:
入站规则
中开放80
端口安全
选项中放行80
端口(默认已放行)浏览器地址栏输入www.xxx.xxxx
即可访问
入站规则
中开放21
、22
端口和被动端口39000-40000
安全
选项中放行21
、22
端口和被动端口39000-40000
Pure-Ftpd
配置文件找到#ForcePassiveIP 192.168.0.1
修改为ForcePassiveIP 119.45.220.46
,记得去掉前面的#
ftp
插件中添加一个fpt
账户,设置账号密码ftp
地址ftp://你的服务器外网IP:21
,输入ftp
账号密码(并不是所有浏览器都支持ftp)FTP协议默认端口:21
FTP主动模式数据端口: 20
FTP被动模端口范围:39000-40000
入站规则
中开放3306
、888
端口安全
选项中放行3306
、888
端口mysql默认端口:3306
phpmyadmin默认端口: 888
phpmyadmin
是一个可视化的mysql
管理工具
phpmyadmin
设置里面的密码不是phpmyadmin
的登陆密码,是在打开phpmyadmin
的外网访问地址前加了一道安全,会有一个弹窗,输入这里设置的账号密码,然后才会进入phpmyadmin
的登陆界面,phpmyadmin
的登陆密码就是mysql
的密码,在宝塔面板中是在数据库
中的root密码
中,点击可以修改密码!
默认情况下,我们的网站是http
协议,是不安全的,在谷歌浏览器左上角会显示不安全
,所以我们可以安装SSL
证书,使用https
协议,因为https
协议使用443
端口,所以需要在服务器安全组的入站规则添加443
端口,并在宝塔面板的安全
中放行443
端口
SSL
证书腾讯云控制台界面,鼠标右上角云产品
悬浮,输入SSL
,选择SSL
证书
按上图描述,输入域名,邮箱,点击下一步
申请完成后需要等待审核,一般十几分钟
证书申请审核通过后,下载证书文件并解压
证书有多个版本供选择,这取决于你使用的服务器软件,我这里是nginx
,所以选择打开Nginx
文件夹
1_www.laj.cool_bundle.crt
证书文件2_www.laj.cool.key
私钥文件将以上两个文件复制到服务器nginx
安装目录下的配置目录下/www/server/nginx/conf
,然后修改基本配置文件/www/server/nginx/conf/nginx.conf
,在原有的server
上面再添加一个server
项
server {
#SSL 访问端口号为 443
listen 443 ssl;
#填写绑定证书的域名(根据自己的域名填写)
server_name xxx.xxx.xxx;
#证书文件名称 (根据自己的证书名称填写)
ssl_certificate 1_xxx.xxx.xxx_bundle.crt;
#私钥文件名称 (根据自己的私钥名称填写)
ssl_certificate_key 2_xxx.xxx.xxx.key;
ssl_session_timeout 5m;
#请按照以下协议配置
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
#网站主页路径。此路径仅供参考,具体请您按照实际目录操作。(根据自己的站点路径填写)
root /www/wwwroot/www.xxx.xxx;
index index.html index.htm;
}
}
在终端输入nginx -t
校验配置文件,如下显示则为校验成功
[root@VM-16-10-centos home]# nginx -t
nginx: [warn] conflicting server name "www.***.***" on 0.0.0.0:80, ignored
nginx: the configuration file /www/server/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /www/server/nginx/conf/nginx.conf test is successful
重新载入配置
nginx -s reload
重启nginx
service nginx restart
这样我们就可以在浏览器中使用https
协议访问我们的网站,例如https://www.xxx.xxx
,不过还是有一点不方便,因为需要手动加上https
,所以我们可以通过修改nginx
的配置文件,实现HTTP
自动跳转 HTTPS
,在配置文件中再添加一个server
项,内容如下:
server {
listen 80;
#填写绑定证书的域名(根据自己的域名填写)
server_name xxx.xxxx.com;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}
我这里的站点根目录是/www/wwwroot/www.laj.cool/
,在只部署一个项目的情况下,直接把项目文件放在/www/wwwroot/www.laj.cool/
下即可,如果想放置多个项目,可以在根目录下建立多个目录,放置不同的项目,然后通过域名+目录的方式访问不同的项目,首先在站点根目录下新建两个目录mian
、test
修改Nginx
的配置文件,配置文件在Nginx
的安装目录下,我这里是/www/server/nginx/conf/nginx.conf
,具体路径根据自己的安装路径来决定
server {
#SSL 访问端口号为 443
listen 443 ssl;
#填写绑定证书的域名
server_name www.laj.cool;
#证书文件名称
ssl_certificate 1_www.laj.cool_bundle.crt;
#私钥文件名称
ssl_certificate_key 2_www.laj.cool.key;
ssl_session_timeout 5m;
#请按照以下协议配置
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
# 默认项目
location / {
#网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
root /www/wwwroot/www.laj.cool/main;
index index.html index.htm;
}
# 第二个项目
location /test1 {
#网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
alias /www/wwwroot/www.laj.cool/test1;
index index.html index.htm;
}
# 第三个项目
location /test2 {
#网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
alias /www/wwwroot/www.laj.cool/test2;
index index.html index.htm;
}
}
配置完成后,浏览器输入www.laj.cool
就会访问main
目录中的项目(默认项目),输入www.laj.cool/test1
就会访问test1
目录中的项目,输入www.laj.cool/test2
就会访问test2
目录中的项目
注意:这里最好使用IP+端口号,因为域名你可能在添加第一个站点的时候已经用过了,这里再使用域名会提示指定域名已经绑定过
,另外使用端口必须在云服务器放开
此时就可以删掉www.prot1.com
这条记录,在浏览器输入www.xxx.com:83
即可访问这个83端口的站点
lrzsz
是一款在linux
里可代替ftp
上传和下载的程序。
## For CentOS/RHEL
[root@localhost ~]# yum -y install lrzsz
## For Ubuntu
[root@localhost ~]# sudo apt-get install lrzsz
在SSH
命令面板内:
输入sz 文件路径
回车,会出现弹窗,选择存储路径,可以将服务器文件下载至本地
输入rz
回车,会出现弹窗,选择要发送的文件,不能发送文件夹,如果想发送文件夹,可以先将文件夹压缩为一个文件,然后再发送,可以将本地文件发送至服务器
为了便于记忆:
sz中的s意为send(发送),告诉客户端,我(服务器)要发送文件 send to cilent,就等同于客户端在下载。
rz中的r意为received(接收),告诉客户端,我(服务器)要接收文件 received by cilent,就等同于客户端在上传。