Nginx服务的搭建与配置

Nginx服务的搭建与配置

一、关闭防火墙并安装epel源

1、关闭selinux

①修改selinux的配置文件

[root@localhost ~]# vim /etc/selinux/config

SELINUX= disabled

②关闭selinux

[root@localhost ~]# setenforce 0

2、关闭防火墙

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld

3、安装epel.repo源

[root@localhost ~]# yum -y install epel-release.noarch

[root@localhost ~]# cd /etc/yum.repos.d/

二、Nginx源码包安装

1、网站:https:

2、下载:wget https:

三、 设置nginx安装源[如同安装阿里云源配置一样]

1、安装官方提供的Centos安装nginx源

[root@www www]# rpm -Uvh https://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

Nginx服务的搭建与配置

2、或者手动添加nginx安装源

[root@www www]# vim /etc/yum.repos.d/nginx.repo

[nginx]

name=nginx repo

baseurl=http://nginx.org/packages/centos/7/$basearch/

gpgche=0

enabled=1

3、安装Nginx

通过yum search nginx看看是否已经添加源成功。如果成功则执行下列命令安装Nginx。

[root@www yum.repos.d]# yum -y install nginx

4、Nginx的 配置

①Nginx的主配置文件

[root@www ~]# vim /etc/nginx/ nginx.conf

②Nginx配置支持PHP

/etc/nginx/conf.d目录下存放着多个配置文件,这些配置项会在Nginx运行时加载到主配置项目中(类似虚拟机)。Nginx是通过php-fpm来通讯的,所以需要监听 9000端口。

在这个目录下生成一个自己的配置文件例如admin.conf,并进行添加php配置属性信息

[root@www nginx]# vim /etc/nginx/conf.d/admin.conf

server {
listen 80;#端口
server_name www.test.com admin.test.com;#域名
root /var/www/card/public;#网站根目录
index index.php index.html index.htm;
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;#主要配置隐藏url中index.php
break;
}
}
location ~ .php$ {

root /var/www/card/public;

fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

④安装php-fpm并修改用户组和用户名

[root@www nginx]#yum -y install php-fpm#安装php-fpm

[root@www nginx]#vim /etc/php-fpm.d/www.conf#修改php-fpm配置文件,用户和用户组默认是apache,改成nginx

; RPM: apache Choosed to be able to access some dir as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.

group = nginx

⑤创建php网站根目录和PHP访问页面

[root@www www]# mkdir -p card/public

[root@www www]# vim /var/www/card/public /php_info.php

hello world”;?>

⑥重启php-fpm

[root@www var]# systemctl restart php-fpm #启动 php-fpm
[root@www var]# lsof -i :9000 #php-fpm端口是否正常启动
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
php-fpm 55916 root 6u IPv4 2089492 0t0 TCP localhost:cslistener (LISTEN)
php-fpm 55921 nginx 0u IPv4 2089492 0t0 TCP localhost:cslistener (LISTEN)
php-fpm 55922 nginx 0u IPv4 2089492 0t0 TCP localhost:cslistener (LISTEN)
php-fpm 55923 nginx 0u IPv4 2089492 0t0 TCP localhost:cslistener (LISTEN)
php-fpm 55924 nginx 0u IPv4 2089492 0t0 TCP localhost:cslistener (LISTEN)
php-fpm 55925 nginx 0u IPv4 2089492 0t0 TCP localhost:cslistener (LISTEN)

⑦浏览器访问PHP页面

Nginx服务的搭建与配置

四、Nginx配置反向代理(用户给用户访问的地址,红色为反向代理的主要配置),后面补充完

[root@localhost conf.d]# vim /etc/nginx/conf.d/ default.conf

upstream test{

server 192.168.81.130:8080 weight=1;#这里的IP是后端服务器IP地址,权重1

server 192.168.81.131:8080 weight=1;

}

server {

listen 80;
server_name www.test.com;

access_log /var/log/nginx/host.access.log main;

location / {

proxy_pass http://test;#这里可直接写IP地址进行配置,如果需要配置负载均衡,可以只有http://test 和 upstream名称一样

以下是一些反向代理的配置,可删除

root /usr/share/nginx/html;

index index.html index.htm;

proxy_redirect off;

proxy_set_header Host $host; #指定请求服务器域名和端口号

}

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 /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;

}

}

Original: https://www.cnblogs.com/blue-wlZ/p/16289219.html
Author: 孤立一点
Title: Nginx服务的搭建与配置

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/582888/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Linux安装mysql8.0

    MySQL 配置MySQL8安装源 sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3….

    Linux 2023年6月6日
    0103
  • docker 安装redis

    1、获取 redis 镜像 2、查看本地镜像 bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问 protected-mode no #默认yes,开启保…

    Linux 2023年5月28日
    095
  • 我可以不在校园

    我在校园自动打卡,仅作学习使用。 我在校园自动打卡,仅作学习使用 直达电梯:我可以不在校园 posted @2021-11-19 17:38 DominicKK 阅读(258 ) …

    Linux 2023年6月8日
    0115
  • Go实现安全双检锁的方法和最佳实践

    不安全的双检锁 从其他语言转入Go语言的同学经常会陷入一个思考:如何创建一个单例? 有些同学可能会把其它语言中的双检锁模式移植过来,双检锁模式也称为懒汉模式,首次用到的时候才创建实…

    Linux 2023年6月13日
    0100
  • 搭建NFS文件共享系统

    1、概述: NFS(Network File System)意为网络文件系统,它最大的功能就是可以通过网络,让不同的机器不同的操作系统可以共享彼此的文件。简单的讲就是可以挂载远程主…

    Linux 2023年6月7日
    0101
  • 网络设备配置–7、配置单臂路由实现跨vlan通信

    一、前言 同系列前几篇:网络设备配置–1、配置交换机enable、console、telnet密码网络设备配置–2、通过交换机划分vlan网络设备配置&#8…

    Linux 2023年6月8日
    0115
  • CentOS7.4安装docker

    1、安装环境 此处在Centos7进行安装,可以使用以下命令查看CentOS版本 lsb_release -a 在 CentOS 7安装docker要求系统为64位、系统内核版本为…

    Linux 2023年5月27日
    095
  • 好记性不如烂笔头系列之STM32 SysTick 精确延时(非中断方式)

    在stm32里,如果想精确延时又不需要中断做别的事; 就可以选择这个stick延时方法,简单易用。其寄存器容易设置,如下图 寄存器一目了然, 就是有一点 其记数只有24位,所以最大…

    Linux 2023年6月13日
    0123
  • WPF 通过 GifBitmapDecoder 调用 WIC 解析 Gif 和进行动画播放的简单方法

    本文告诉大家如何在 WPF 里,通过 GifBitmapDecoder 调用 WIC 层来解析 GIF 图片,然后采用动画的方式进行播放 使用 WIC 层解析 GIF 图片可以调用…

    Linux 2023年6月6日
    090
  • tqdm和zip组合使用时无法显示进度条-解决办法

    问题 单独对于可迭代对象iterator使用tqdm时,结合循环就可以在终端显示进度条, 以直观展示程序进度,如下: from tqdm import tqdm textlist …

    Linux 2023年6月7日
    0126
  • 分区表、文件系统等计算机基础知识

    开机固件 BIOS UEFI 特别老的BIOS不支持GPT分区 目前已取代BIOS 分区表类型 MBR GPT 1.不支持2TB以上的硬盘2.主分区不能超过4个3.可以通过建立扩展…

    Linux 2023年6月7日
    0105
  • 白话电子签章原理及风险

    因为业务需要近来在对接一个线上的电子签章平台, 签完的效果就是在PDF上盖一个红色的章。内部过程沟通中发现,对这个红色章背后的证明逻辑,技术原理,能够了解的比较清楚的人还是很少的。…

    Linux 2023年6月13日
    0101
  • Linux 查看运行中进程的 umask

    线上某台虚机因为故障重装了系统(基线 CentOS 6.9 内核 2.6.x),重新部署了应用。这个应用会生成一个文件,到NFS挂载目录。 而这个 NFS 挂载目录是一个 FTP …

    Linux 2023年6月14日
    099
  • Mac下安装zshell

    什么是shell 大多数命令行用户接触最多的是Bash,因为Bash是各个版本操作系统(Linux&Mac)的默认shell。 查看当前使用的shell $ echo $S…

    Linux 2023年5月28日
    089
  • centos7自动化ssh免密

    在做免密前要先手动生成公钥: ssh-keygen -t rsa 敲击三次回车即可 写一个shell脚本: expect命令可以获取到命令返回结果并且根据指定内容进行自动发送相应字…

    Linux 2023年6月6日
    0151
  • linux(Ubuntu)安装python

    提前安装一个依赖环境 (1)ubuntu/Debian: sudo apt-get install -y gcc make cmake build-essential libssl…

    Linux 2023年6月7日
    0105
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球