腾讯云服务器快速搭建站点并配置ssl证书
1.安装nginx
进入官网下载nginx
通过Xshell等远程桌面应用连接云端服务器进安装依赖
WARNING
注意 这里十分重要,需要先安装依赖环境 再安装nginx, 跟着命令顺序依次进行即可安装成功
① 安装所需依赖
nginx
#1.安装所需依赖
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
② 下载nginx
nginx
#2.下载nginx
wget http://nginx.org/download/nginx-1.20.0.tar.gz
#3.解压缩包
tar -zxvf nginx-1.20.0.tar.gz
③ 进入nginx目录安装ssl模块
nginx
#4.进入到nginx目录下
cd nginx-1.20.0/
#5.为了实现https功能需要安装ssl模块
./configure --with-http_ssl_module
④ 编译安装 (默认安装在/usr/local/nginx目录下)
nginx
#6.执行编译、安装命令
make && make install
⑤ 查看nginx安装相关的文件位置信息
nginx
whereis nginx
#进入路径
cd /usr/local/nginx/sbin
⑥ 启动nginx命令
nginx
#7.启动nginx
./nginx
#立刻停止nginx
nginx -s stop
#杀死进程
killall nginx
# 查看 nginx 的运行进程
ps -ef | grep nginx
#重启
/nginx -s reload
启动成功后输入ip地址或域名即可出现如下页面
Linux下的常用操作命令
nginx
# 进入默认站点目录
cd /usr/share/nginx/
ll
cd html/
ls
# 编辑 index.html 页面
vim index.html
# 按下 “i” 键编辑即可
# 不保存强制退出
:q!
# 保存
:w
# 保存并退出
:wq
# 只查看,不编辑
cat index.html
2.安装ssl证书
1. 创建cert文件夹
TIP
登录服务器,进入nginx目录下,创建存放证书的文件夹cert
nginx
cd /usr/local/nginx/conf #进入Nginx默认安装目录。若修改过,则根据实际调整。
mkdir cert #创建证书目录,命名为cert。
2. 上传SSL证书
TIP
上传 (key 、crt结尾的证书) 至/usr/local/nginx/conf/cert目录下
3. 编辑 nginx 根目录下的nginx.conf
文件
TIP
修改配置文件,设置证书SSL信息
nginx
# 命令行编辑nginx.conf
vim /usr/local/nginx/conf/nginx.conf
nginx
# 修改证书文件及其域名
server {
#SSL 默认访问端口号为 443
listen 443 ssl;
#请填写绑定证书的域名
server_name cloud.tencent.com;
#请填写证书文件的相对路径或绝对路径
ssl_certificate cloud.tencent.com_bundle.crt;
#请填写私钥文件的相对路径或绝对路径
ssl_certificate_key cloud.tencent.com.key;
ssl_session_timeout 5m;
#请按照以下协议配置
ssl_protocols TLSv1.2 TLSv1.3;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
#网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
#例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。
root html;
index index.html index.htm;
}
}
验证配置文件是否存在问题
nginx
nginx -t
- 若报错,则重新配置或修改问题
- 不报错,则忽略,进行下一步
TIP
如果想要将域名 http 自动跳转 -----> https
nginx
server {
listen 80;
#请填写绑定证书的域名
server_name cloud.tencent.com;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}
WARNING
注意: 这里 两个server可以同时一起去编辑 然后再 nginx -t 命令验证错误
若上一步操作正常, 接下来只需要重启nginx服务器即可
nginx
cd /usr/local/nginx/sbin #进入Nginx服务的可执行目录
./nginx -s reload #重新载入配置文件
偷懒小tips
TIP
这里上传一份完整的 nginx.conf
配置文件 , 如果想要偷懒则可直接ctrl+c 复制到文件里
nginx
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include 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 logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /home/cp/www/dist;
index index.html index.htm;
}
#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 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;
#}
}
server {
#SSL 默认访问端口号为 443
listen 443 ssl;
#请填写绑定证书的域名
server_name tinaer.cn;
#请填写证书文件的相对路径或绝对路径
ssl_certificate /usr/local/nginx/conf/cert/tinaer.cn_bundle.crt;
#请填写私钥文件的相对路径或绝对路径
ssl_certificate_key /usr/local/nginx/conf/cert/tinaer.cn.key;
ssl_session_timeout 5m;
#请按照以下协议配置
ssl_protocols TLSv1.2 TLSv1.3;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
#网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
#例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。
root /home/cp/www/dist;
index index.html index.htm;
}
}
server {
listen 80;
#请填写绑定证书的域名
server_name tinaer.cn;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}