Nginx配置

nginx 服务器搭建

前言

之前不知道是因为腾讯云出了 bug 还是咋的,已经毕业的学生证还是可以在腾讯云上购买学生套餐,于是花了 300 不到买了 3 年的服务器,买完之后就搁置在一盘没有怎么用了。

最近有想法弄点自己的小东西,需要挂载到服务器上,于是就拿出了尘封已久的服务器,搭建下环境了,也好了解下怎么简单的搭建服务器。

搭建

nginx 安装

通过阿里云控制台登录控制台,或者通过本地ssh登录服务器:

ssh root@server # server 是你服务器的ip地址

之后会让输入密码,输入之后就登录成功了。

然后我们安装nginx,通过yum命令安装:

yum install -y nginx

等待一会后,nginx 就安装上了,然后我们启动nginx

service nginx start

::: tip 其他命令
service nginx restart # 重启nginx服务
service nginx stop # 停止nginx服务
:::

然后打开浏览器,输入服务器的 ip 地址,如果出现以下界面就表示成功了:

搭建成功

是不是很简单?

配置 https

之所以想配置https是因为以下几点:

  • 安全
  • 利于 SEO
  • 防劫持

因为穷,没钱购买 ssl 安全证书。。。只好用免费的了。。。这里使用的是certbot-auto免费生成密钥。

首先安装certbot-auto

wget https://dl.eff.org/certbot-auto

安装结束后,我们修改下certbot-auto所在目录的权限并暂时关闭nginx服务:

chown a+x ./certbot-auto
service nginx stop

然后我们使用certbot-auto生成证书,生成证书有两种模式:

  • standalone
  • webroot

区别
使用standalone模式生成的证书,如果到期后,更新证书需要重启服务,而webroot模式不需要,因为webroot模式会在项目目录下生成一个隐藏的文件,并且通过这个隐藏文件来验证,所以到期更新证书的时候不需要重启服务。

使用 standalone 生成证书

./certbot-auto certonly --standalone --email 邮箱地址 -d 域名1

提示
如果多个域名,直接后面接连跟着 -d 域名地址,比如:./certbot-auto certonly --standalone -d 域名1 -d 域名2

使用 webroot 生成证书

./certbot-auto certonly --webroot --email 邮箱地址 -w 项目地址 -d 域名1 -d 域名2

生成后的证书会存在/etc/letsencrypt/live/你的域名/这个目录中。

最后一步就是配置nginx

vim /etc/nginx/nginx.conf  # 打开nginx的配置文件

server中配置ssl

server {
    listen       443 ssl http2 default_server;
    listen       [::]:443 ssl http2 default_server;
    server_name  www.yourdomain.com yourdomain.com; # 域名绑定
    root         /var/project/;  # 项目目录

    # 证书配置
    ssl on;
    ssl_certificate "/etc/letsencrypt/live/yourdomain/fullchain.pem";
    ssl_certificate_key "/etc/letsencrypt/live/yourdomain/privkey.pem";

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
    }
}

配置好后使用service nginx start重启nginx就可以了。

这样访问你自己的域名就可以了,比如我自己的https://weixiaomu.com

效果图如下:

https效果

但是,如果我想普通访问域名时自动跳到https下该怎么设置?

不难,我们在nginx配置文件中,新建立一个server,当访问http的时候,重定向到https即可:

server {
    listen  80;
    server_name     yourdomain.com;
    return  301 https://$server_name$request_uri;
}

然后重启下nginx就可以了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本文是我参考互联网上一些 HTTPS 相关文章, 而后自己实践而来主要内容由 ** 获取证书 ,nginx TSL...
    jnil阅读 5,259评论 0 0
  • 说明 以前总觉得搭建一个https服务器好难好难,亲手操作之后,其实并不难,因为现在可以从 letsencrypt...
    凉风儿阅读 1,009评论 0 2
  • 浏览器地址栏标志着 HTTPS 的绿色小锁头从心理层面上可以给用户专业安全的心理暗示,本文简单总结一下如何在 Ng...
    QieZi阅读 38,536评论 0 10
  • 配置运行Nginx服务器用户(组) 用于配置运行Nginx服务器用户(组)的指令是user,其语法格式为: use...
    吃瓜的东阅读 4,688评论 0 41
  • 花开 奇石古道 我经千年风吹雨打, 独看创海化桑田, 铁树 问何千年不开花? 只为红颜苦等, 不听风吹。 不闻细雨...
    咚_阅读 326评论 0 0

友情链接更多精彩内容