CentOS部署nginx服务器

CentOS 7 部署 nginx 服务器,配置端口,访问静态资源

一、所需环境安装
1、gcc 安装

​ 安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装。

yum install gcc-c++
2、pcre-devel 安装

​ PCRE(Perl Compatible Regular Expressions) 是一个 Perl 库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx 也需要此库。

yum install -y pcre pcre-devel
3、zlib 安装

​ zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。

yum install -y zlib zlib-devel
4、OpenSSL

​ 安装 OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。

yum install -y openssl openssl-devel
二、Nginx的下载安装
1、Nginx 的下载

​ a、官网直接下载:https://nginx.org/en/download.html

​ b、命令下载

wget -c https://nginx.org/download/nginx-1.12.2.tar.gz
2、解压nginx安装包
tar -zxvf nginx-1.12.2.tar.gz
或(tar -zxvf nginx-1.12.2.tar.gz -C /home    #解压到指定的文件路径下)
3、进入解压后的文件路径,使用默认配置
cd nginx-1.12.2

./configure
4、编译安装(成功安装的路径为 /usr/local/nginx)
make

make -install
三、Nginx的启动使用
1、进入安装的 Nginx 的 sbin 目录下,启动 Nginx
cd /usr/local/nginx/sbin/

启动命令:
	./nginx
关闭命令:
	./nginx -s stop    #此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。
	或
	./nginx -s quit    #此方式停止步骤是待nginx进程处理任务完毕进行停止。(请求处理后才关闭)
重新加载配置文件:
	./nginx -s reload
2、启动成功后,浏览器输入外网地址,如"124.221.146.222",页面如下则成功

在这里插入图片描述

四、Nginx的文件配置
vim /usr/local/nginx/conf/nginx.conf
1、全局块
worker_processes 1;    # Nginx 支持的最大并发处理量(业务进程数量)

​ 从配置文件开始到 events 块之间的内容,主要设置一些影响 Nginx 服务器整体运行的配置指令。

​ 配置包括:配置运行 Nginx 服务器的用户(组)、允许生成的 worker process 数,进程 PID 存放路径、日志存放路径和类型以及配置文件的引入等。

2、events 块
events {
	worker_connections 1024;    # work process 支持的最大连接数为1024
}

​ events 块涉及的指令主要影响 Nginx 服务器与用户的网络连接。

​ 配置包括:是否开启对多 work process 下的网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种事件驱动模型来处理连接请求,每个 work process 可以同时支持的最大连接数等。

3、http 块

​ http 块也可以包括 http 全局块和 server 块。每个 http 块可以包括多个 server 块,而每个 server 块就相当于一个虚拟主机。

​ server 块又分为全局 server 块,以及可以同时包含多个 locaton 块。

​ 配置包括:代理、缓存和日志定义等绝大多数功能和第三方模块的配置。

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;    # 设置请求端口号
        server_name  localhost;    #设置请求IP地址和端口号,或域名

        # 若请求路径像这样:www.xxxx/img/example.png
        # 则访问/img/目录下的文件时,nginx会去/var/www/image/img/目录下找文件
        location /img/ {    # 设置请求发送的目录
        	# 同时配置root和proxy_pass选项时,两个选项只会二选一执行,不能配置https反向代理
            root /var/www/image;    # 设置代理的实际目录路径
            # proxy_pass http://shijidaili.com;    #代理的IP地址和端口号,或域名
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
    }
}
3.1、http 全局块

​ 配置包括:文件引入、MIME-TYPE 定义、日志自定义、连接超时时间、单链接请求数上限等。

3.2、server 块

​ a、全局 server 块:本虚拟机主机的监听配置和本虚拟主机的名称或 IP 配置。

​ b、location 块:基于 Nginx 服务器接收到的请求字符串(例如 server_name/uri-string),对虚拟主机名称(也可以是 IP 别名)之外的字符串(例如前面的 /uri-string)进行匹配,对特定的请求进行处理。地址定向、数据缓存和应答控制等功能,还有许多第三方模块的配置也在这里进行。

​ location 指令说明:

​ = :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求。
​ ~:用于表示 uri 包含正则表达式,并且区分大小写。
​ ~*:用于表示 uri 包含正则表达式,并且不区分大小写。
​ ^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求。字符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location块中的正则 uri 和请求字符串做匹配。

五、Nginx 配置中root、alias、proxy_pass指令的用法和区别
1、root 和 alias

root

  • 语法:root path
  • 默认值:root html
  • 配置范围:在 http、server、location、if 都可进行配置
  • root 的处理结果是:root 路径 + location 路径
location ^~ /t/ {
	root /www/root/html/;
}
	# 请求:/t/a.html -> 响应:/www/root/html/t/a.html

alias

  • 语法:alias path
  • 配置范围:只在 location 中进行配置
  • alias 的处理结果是:使用 alias 路径替换 location 路径
location ^~ /t/ {
	alias /www/root/html/new_t/;
}
	# 请求:/t/a.html -> 响应:/www/root/html/new_t/a.html

注:

  1. 使用 alias 时,目录名后面一定要加"/"。
  2. alias 在使用正则匹配时,必须捕捉要匹配的内容并在指定的内容处使用。
  3. alias 只能位于 location 块中。( root 可以不放在 location 中)
2、proxy_pass
location /test/ {
	proxy_pass http://127.0.0.1:8080/; 
}
    # 请求:/test/1.jpg -> 响应:http://127.0.0.1:8080/1.jpg
location /test/ {
	proxy_pass http://127.0.0.1:8080; 
}
    # 请求:/test/1.jpg -> 响应:http://127.0.0.1:8080/test/1.jpg
location /test/ {
	proxy_pass http://127.0.0.1:8080/img; 
}
    # 请求:/test/1.jpg -> 响应:http://127.0.0.1:8080/img1.jpg

pass http://127.0.0.1:8080;
}
# 请求:/test/1.jpg -> 响应:http://127.0.0.1:8080/test/1.jpg


```Linux
location /test/ {
	proxy_pass http://127.0.0.1:8080/img; 
}
    # 请求:/test/1.jpg -> 响应:http://127.0.0.1:8080/img1.jpg

注:location 中的目录后缀可不带 ‘/’,但 proxy_pass 中的目录后缀必须看情况决定是否带

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOS部署Nginx,你可以按照以下步骤进行操作: 1. 首先,配置Nginx的源,执行以下命令安装Nginx的源: ``` rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm ``` 2. 配置成功后,你可以在`/etc/yum.repos.d/`目录下看到多了一个`nginx.repo`文件。 3. 创建Nginx安装目录,并上传并解压Nginx压缩包,执行以下命令: ``` mkdir -p /usr/local/nginx tar -zxvf nginx-1.22.1.tar.gz -C /usr/local/nginx ``` 4. 安装Nginx所需的依赖库,执行以下命令: ``` yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel ``` 5. 进入解压后的Nginx目录,执行以下命令编译和安装Nginx: ``` cd /usr/local/nginx/nginx-1.22.1 ./configure make make install ``` 6. Nginx安装完成后,可以通过以下命令进行启动和停止Nginx服务: ``` /usr/local/nginx/sbin/nginx # 启动Nginx /usr/local/nginx/sbin/nginx -s stop # 停止Nginx ``` 7. 验证Nginx是否成功安装,可以在浏览器中访问服务器的IP地址,如果能够看到Nginx的欢迎页面,则说明部署成功。 请按照以上步骤进行操作,即可在CentOS上成功部署Nginx服务。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Centos7下部署nginx(三种方式安装部署,图文结合超详细,适合初学者)](https://blog.csdn.net/huz1Vn/article/details/129844471)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [运维初学者必备-centos7搭建nginx服务](https://blog.csdn.net/u010499087/article/details/126903520)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值