云服务器Linux安装,配置,使用nginx

  • linux安装nginx
  • nginx的使用

linux安装nginx

  1. 检查是否安装了GCC(可在任何目录下输入)
yum list installed | grep "gcc"

如果像下图一样,就说明安装了,反之没安装

  1. 如果没安装GCC,就安装一下(可在任何目录下输入)
yum -y install gcc
  1. 安装nginx所需的依赖插件(可在任何目录下输入);
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
  1. 下载nginx安装压缩包(这个版本号可以自己更换,这个时候我们就要先创建一个文件夹用来存放nginx的安装包和解压以后的文件,然后在执行下面的命令)
wget https://nginx.org/download/nginx-1.16.1.tar.gz
  1. 解压(在上面那个目录下解压)
tar -zxvf nginx-1.16.1.tar.gz
  1. 配置(首先进入我们解压好的nginx-1.16.1的目录下);
cd nginx--1.16.1

然后在进行配置(/usr/local/nginx 的意思就是安装到/usr/local/nginx这个目录下):

./configure --prefix=/usr/local/nginx

再输入make

make

再输入make install

make install

7.检测是否安装成功
首先进去/usr/local/nginx这个目录下,再输入下面代码

./sbin/nginx -t

如果提示的是下面代码,就说明安装成功,没有任何问题

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

如果报以下错误:

nginx: [alert] could not open error log file: open() “/usr/local/nginx/logs/error.log” failed (2: No such file or directory)
2016/09/13 19:08:56 [emerg] 6996#0: open() “/usr/local/nginx/logs/access.log” failed (2: No such file or directory)

说明nginx下没有找到logs目录。

我们就要在/usr/loca/nginx/目录下创建logs目录

mkdir logs
chmod 777 logs
  1. 启动nginx
    看当前在那个目录下,先进去/usr/loca/nginx/sbin目录下
./nginx

然后输入netstat -tunpl|grep nginx,查看nginx是否启动成功

netstat -tunpl|grep nginx

我们会看到有一个80端口,说明nginx启动成功了(我有2个,因为我用到了443端口,这个不用管,只有80端口启动了就行)

  1. 停止,重启nginx

停止(同样在/usr/loca/nginx/sbin目录下)

//第一种方法
./nginx -s stop
//第二种,先netstat -tunpl|grep nginx查看80端口的进程号,然后使用kill命令杀死这个进程
netstat -tunpl|grep nginx
kill -9 21472
//最后在输入netstat -tunpl|grep nginx,确认80端口被杀死了。
netstat -tunpl|grep nginx

重启(同样在/usr/loca/nginx/sbin目录下)

./nginx -s reload
  1. 验证是否启动成功
    在浏览器输入服务器的地址然后回车
    如果出来这个页面就说明nginx已经成功启动并且生效了
  2. nginx开机自启动
    先输入vim /etc/rc.d/rc.local
vim /etc/rc.d/rc.local

进去rc.local这个文件里,点击 i 进入可修改模式
在如图位置添加,然后点击esc键,再按shift+:键,然后输入wq! 然后回车

/usr/local/nginx/sbin/nginx

nginx的使用

  1. 了解nginx
    进入/usr/local/nginx/conf目录下
    可以看到一个nginx.conf文件

    我们进入这个文件
vim nginx.conf

我们找到下面这段代码(你们的可能和这个有些不同,这个修改过)

server {listen       80; //这个的意思是监听80端口server_name  local;client_max_body_size 50M;location / {proxy_pass http://localhost:6606/; //这个意思是我们访问80端口就会跳转访问我们的6606端口proxy_redirect off; proxy_set_header        Host                    $host;proxy_set_header        X-Real-IP               $remote_addr;proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;}//上面的效果就是我们在浏览器输入服务器的地址就会跳转到我们发布的这个6606的项目去//例如:127.0.0.1location /admin/ {proxy_pass http://localhost:8080/; //这个意思是我们访问80端口就会跳转访问我们的8080端口proxy_redirect off; proxy_set_header        Host                    $host;proxy_set_header        X-Real-IP               $remote_addr;proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;}//上面的效果就是我们在浏览器输入服务器在加上/admin/的地址就会跳转到我们发布的这个8080的项目去//例如:127.0.0.1/admin/}

修改完成后退出然后进入/usr/loca/nginx/sbin目录下重启nginx

./nginx -s reload

就可以了

  1. 解析里面的内容

server:server为一个端口的监听配置,里面可以拥有多个location路由配置。一个server是一个大单元。你可以复制多个server来监听不同端口或相同端口不同域名(server_name)

server_name:监听的主机名。可以是域名。比如aaa.dongzhongwei.com和bbb.dongzhongwei.com,虽然都是走的80端口,但可以通过server_name来区分不同的server。

listen:监听80端口

client_max_body_size: 附件上传支持最大容量。默认1M,超出则报413附件太大错误。(该配置好像可以写在location里面。)

location: 监听端口下的路由。/为监听根路径

location.proxy_pass: 转发的路径。即将127.0.0.1:80/转发到localhost:6606/。或者如127.0.0.1:80/test转发到localhost:8080/testabc

location.proxy_redirect:是否转发方式。off否

  1. location配置规则

优先级:

  (localtion =) > (localtion完整url) > (localtion ^~) > (localtion ~,~*) > (lcoaltion部分起始路径) > (/)

说明:

    = 表示精确匹配^~ 表示指定的路径开头~ 表示区分大小写的正则匹配~* 表示不区分大小写的正则匹配/ 通用匹配,所有的URL都是以此为开头

所以你看到有些配置location后直接市路径,有的会有一个^~,其实只是优先级,除此没什么区别
例子:

location ^~ /static/ {#规则1
}
location ~ \.(gif|jpg|png|js|css)$ {#规则2
}
location ~* \.png$ {#规则2
}//http://xdh.com/static/a.png 优先匹配到规则1,则不匹配后面的规则
//http://xdh.com/a.png 匹配到规则2

本文来源于:董忠伟的个人博客之linux安装nginx、配置文件详解
然后我进行了一点点修改。

云服务器Linux安装,配置,使用nginx相关推荐

  1. 关于阿里云服务器Linux安装Tomcat后,外网不能访问解决方案

    关于阿里云服务器Linux安装Tomcat后,外网不能访问解决方案 参考文章: (1)关于阿里云服务器Linux安装Tomcat后,外网不能访问解决方案 (2)https://www.cnblogs. ...

  2. 阿里云服务器中安装配置MYSQL数据库完整教程

    阿里云服务器中安装配置MYSQL数据库完整教程 第一步: 确保服务器系统处于最新状态 第二步: 首先检查是否已经安装,如果已经安装先删除以前版本,以免安装不成功 [root@Panghl ~]# rp ...

  3. 【MySQL】在云服务器上安装配置mysql,并使用IDEA连接

    在云服务器上安装配置mysql 前言 1.Mysql安装 2.设置密码 3.防火墙开放3306端口 4.配置mysql默认编码为utf-8 5.在云服务器代理商的控制台放行3306端口 6.IDEA中 ...

  4. 云服务器Linux 安装SVN

    系统环境: 第一步:通过yum命令安装svnserve,命令如下: yum -y install subversion 此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行 若需查 ...

  5. 阿里云服务器用Docker配置运行nginx并访问

    一.Docker拉取nginx镜像 docker pull nginx:1.12.2 这里是下载的是nginx的1.12.2版本,其他版本的镜像请访问https://hub.docker.com/r/ ...

  6. 阿里云服务器 liunx 安装配置 redis

    官网下载链接: https://redis.io/download 下载4.0.9版本 用xftp 把下载好的 redis-4.0.9.tar.gz 上传到liunx服务器上 我的阿里云服务器保存目录 ...

  7. 腾讯云服务器如何安装配置宝塔 Linux 面板

    操作场景 宝塔 Linux 面板腾讯云专享版由腾讯云与堡塔公司联合开发,专享版在已支持普通版所有功能的基础上,还默认集成腾讯云对象存储.文件存储.内容分发网络和 DNS 解析插件.插件具备如下功能: ...

  8. Linux安装配置php7+nginx

    1.安装php7.0 下载 # wget  http://cn2.php.net/distributions/php-7.0.4.tar.gz 解压安装 # tar zxvf php-7.0.4.ta ...

  9. mysql8.0版本的服务器名称_云服务器Mysql安装配置

    所有平台的 MySQL 下载地址为: MySQL 下载(https://dev.mysql.com/downloads/mysql/) . 挑选你需要的 MySQL Community Server ...

最新文章

  1. 深入理解PHP原理之变量(Variables inside PHP)
  2. 最土团购系统数据结构数据字典二次开发宝典
  3. 【转】闲聊Kernel engineer的境界(全)
  4. VTK:可视化算法之ColorIsosurface
  5. 引入Spring集成
  6. android gradle错误,Android studio gradle错误与顶级异常
  7. C#与NET实战 第5章 进程、线程与同步 节选
  8. python设计模式案例分析_Python设计模式之职责链模式原理与用法实例分析
  9. linux 内核的链表操作(好文不得不转)
  10. [LibTorch] C++ 调用 PyTorch 导出的模型
  11. 吴恩达神经网络和深度学习-学习笔记-6-训练集、验证集和测试集 + 偏差bias和方差variance
  12. DLL初步和钩子入门
  13. FirstApp,iphone开发学习总结3,UIButton简单的操作
  14. 010 异步处理Rest服务
  15. layui里面layer弹窗渲染layerdate,时间控件不出现,闪现问题,F12才出来
  16. 知识竞赛软件已全面取代了传统手工赛场控制方式
  17. 阿里云·天池大数据竞赛,快商通突破专业屏障,算法能力领跑全球
  18. 字节和兆字节的换算_什么是兆字节(MB)?
  19. 快手上的音乐计算机,快手本地音乐显示只能从电脑导入怎么办
  20. P3939 数颜色 主席树板子

热门文章

  1. python dataframe 列赋值_dataframe根据新列特征的条件为其赋值,给
  2. 基于前端HTML+CSS+JS实现2022城市新年贺卡特效
  3. 《springcloud超级入门》Spring Cloud和Dubbo的区别及各自的优缺点《三》
  4. c语言数学语文英语成绩编程,急求一编程题!…
  5. java list 超出范围_java-列索引超出范围:2,列数1
  6. linux内核全局变量同名,Linux系统下DSO同名全局变量浅析
  7. mysql not in报错_mysql从5.7升级到8.0查询报错Expression #2 of SELECT list is not in GROUP BY...
  8. Vue 双向绑定小案例
  9. finditerable 转list_Iterable/Iterator 转 list
  10. ios开发 多人语音聊天_在 Unity 多人游戏中实现语音对话