腾讯云服务器nginx安装配置

开始配置前,需要购买一个服务器 腾讯云官网,购买过后还需要你先去备案,从提交备案到管理局通过正常大概一个星期,下面是我的备案操作记录,被腾讯云客服打电话驳回一次,因为填写的备用电话打不通,需要注意:提交备案后注意保持电话畅通。

我的备案截图

我的环境:
  • 服务器:腾讯云服务器
  • nginx版本:nginx/1.18.0 nginx下载地址
  • CentOS: CentOS Linux release 7.6.1810 (Core)

一、查看你的公网IP和私网IP

查看ip

二、连接服务器

windows系统需要下载个连接服务器的客户端,xshell、xmanager等,根据自己喜欢的来选择 下载地址,我用的mac系统操作这里就直接打开终端,选择左上角的shell进行下图步骤操作就可,

官网图

image.png

  • 这里输入的服务器名称是购买服务器时候给你发的名称默认root,IP地址就是公网的IP地址


    image.png

    image.png
  • 点击连接后,终端会弹出来,让输入密码


    输入密码
  • 输入完密码后,点击回车,即刻连接上了,

三、用yum进行安装必要程序,安装一些服务和vim编辑器

先查看连接的linux服务器有么有安装yum(腾讯云默认是安装了)

rpm -qa | grep yum
查看有没有安装yum
yum -y install gcc gcc-c++ autoconf pcre-devel make automake
yum -y install wget httpd-tools vim
  • 安装完成后,新建一个文件存放文件的文件夹


    新建文件夹
  • 再进入到文件夹分别新建下面几个文件
    app 放程序用
    backup 放备份文件
    download 下载的东西都放这里
    logs 日志放在这里
    work 工作文档都放这里
    新建文件

四、nginx下载

  • 下载nginx
yum install nginx
  • 下载完成后,查看一下版本
nginx -v

五、nginx配置

在使用yum安装完Nginx后,需要知道系统中多了哪些文件,它们都安装到了那里。可以使用下面的命令进行查看。

  • 查看Nginx的安装目录
rpm -ql nginx

rpmlinuxrpm包管理工具,-q 代表询问模式,-l 代表返回列表,这样我们就可以找到nginx的所有安装位置了。

  • nginx.conf文件解读
    nginx.conf 文件是Nginx总配置文件,在我们搭建服务器时经常调整的文件。

  • 进入etc/nginx目录下,然后用 vim进行打开nginx.conf文件

cd /etc/nginx
vim nginx.conf
#运行用户,默认即是nginx,可以不进行设置
user  nginx;
#Nginx进程,一般设置为和CPU核数一样
worker_processes  1; 
#错误日志存放目录
error_log  /var/log/nginx/error.log warn;
#进程pid存放位置
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"';
    #nginx访问日志存放位置
    access_log  /var/log/nginx/access.log  main;
    #开启高效传输模式
    sendfile        on;
    #减少网络报文段的数量
    #tcp_nopush     on;
    #保持连接的时间,也叫超时时间
    keepalive_timeout  65;
   #开启gzip压缩
    #gzip  on;
    #包含的子配置项位置和文件
    include /etc/nginx/conf.d/*.conf;
}
  • 查看到nginx.conf文件中最底下部分有个include /etc/nginx/conf.d/*.conf;
    在通过命令进入到/etc/nginx/conf.d文件夹下面,通过vim default.conf打开文件
server {
    listen       80;   #配置监听端口
    server_name  localhost;  //配置域名

    #charset koi8-r;     
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;     #服务默认启动目录
        index  index.html index.htm;    #默认访问文件
    }

    #error_page  404              /404.html;   # 配置404页面

    # 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;
    #}
}
  • 这里补充一下vim进行编辑的一个简单操作
    1. 打开文件,首先进入 命令模式
    2. 按下 i(insert) 进入 编辑模式
    3. 按下 esc再按下 :进入 末行模式 ,以下为命令功能说明
命令 英文 作用
:w write 保存
:q quit 退出
:q! 强制退出
:wq write & quit 强制保存并退出
:x 保存并退出

六、nginx启动,关闭

  • 查看nginx有没有启动,如果出现三条记录就说明开启了
ps aux | grep nginx
查看nginx运行状态
  • 启动nginx
nginx
  • 停止nginx

方法一:立刻停止,无论程序有没有运行完,都立刻停止

nginx  -s stop

方法二:从容停止,有未运行完的程序,运行完成后才停止

nginx -s quit
  • killall 方法杀死进程
killall nginx
  • 查看端口
netstat -tlnp

七、自定义错误页面

我们在上面的时候看到了/etc/nginx/conf.d/default.conf文件中

error_page   500 502 503 504  /50x.html;   #错误状态码的显示页面,配置后需要重启
    location = /50x.html {
        root   /usr/share/nginx/html;   //出现上面状态错误的时候,进入的页面
    }

八、使用域名设置虚拟主机

修改etc/nginx/conf.d目录下的default.conf 文件,把原来的80端口虚拟主机改为以域名划分的虚拟主机。代码如下:

server {
    listen       80;
    server_name  www.yubo365.cn;
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

这时候我们再重启服务,然后属于域名就可以看到了,这里找的是/usr/share/nginx/html文件下面的 index.html文件

九、设置反向代理

正常代理的是ip地址,这里用域名也是可以的

server{
        listen 80;
        server_name www.yubo365.cn;
        location / {
               proxy_pass https://baidu.com;
        }
}

其它反向代理指令:

  • proxy_set_header :在将客户端请求发送给后端服务器之前,更改来自客户端的请求头信息。
  • proxy_connect_timeout:配置Nginx与后端代理服务器尝试建立连接的超时时间。
  • proxy_read_timeout : 配置Nginx向后端服务器组发出read请求后,等待相应的超时时间。
  • proxy_send_timeout:配置Nginx向后端服务器组发出write请求后,等待相应的超时时间。
  • proxy_redirect :用于修改后端服务器返回的响应头中的Location和Refresh。

十、Nginx适配PC或移动设备

这里是在/usr/share/nginx/文件夹下面创建pcmobile文件,然后通过$http_user_agent正则判断来选择进入到PC还是移动端的index

location / {
       root   /usr/share/nginx/pc;
       if ($http_user_agent ~* "(Android|iPhone|Windows Phone|UC|Kindle)"){
         root /usr/share/nginx/mobile;
       }
       index  index.html;
    }

十一、开启nginx的gzip压缩
Gzip是网页的一种网页压缩技术,经过gzip压缩后,页面大小可以变为原来的30%甚至更小。更小的网页会让用户浏览的体验更好,速度更快,下面简单配置代码

http {
    gzip on;
    gzip_comp_level 8;
    gzip_types text/plain application/javascript text/css;
}
部分代码

配置好以后,重启服务,查看HTTP响应头信息。你可以看见Content-Encoding为gzip类型。


浏览器截图

Nginx提供了专门的gzip模块,并且模块中的指令非常丰富,下面可以查看:

  • gzip : 该指令用于开启(on)或 关闭(off)gzip模块。
  • gzip_buffers : 设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。
  • gzip_comp_level : gzip压缩比,压缩级别是1-9,1的压缩级别最低,9的压缩级别最高。压缩级别越高压缩率越大,压缩时间越长。
  • gzip_disable : 可以通过该指令对一些特定的User-Agent不使用压缩功能。
  • gzip_min_length:设置允许压缩的页面最小字节数,页面字节数从相应消息头的Content-length中进行获取。
  • gzip_http_version:识别HTTP协议版本,其值可以是1.1.或1.0.
  • gzip_proxied : 用于设置启用或禁用从代理服务器上收到相应内容gzip压缩。
  • gzip_vary : 用于在响应消息头中添加Vary:Accept-Encoding,使代理服务器根据请求头中的Accept-Encoding识别是否启用gzip压缩。

最后分享一个网址,输入网址就可以进行压缩检测https://tool.chinaz.com/Gzips

示例
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270