Centos7下的Nginx的安装与配置

Centos7下的Nginx的安装与配置

Yum安装

新安装的Centos系统中,直接使用yum安装会提示没有可用的软件包。原因是nginx位于第三方的yum源里面,而不在centos官方yum源里面.需要安装epel源。EPEL (Extra Packages for Enterprise Linux)是基于Fedora的一个项目,为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS等系统

安装EPELsudo yum install epel-release

更新一下源sudo yum update

安装Nginx: sudo yum -y install nginx

安装完成查看一下版本nginx -v

防火墙开启端口sudo firewall-cmd --zone=public --permanent --add-service=http

image-20200625104543027

nginx的常用命令

sudo systemctl enable nginx # 设置开机启动 
sudo service nginx start # 启动 nginx 服务
sudo service nginx stop # 停止 nginx 服务
sudo service nginx restart # 重启 nginx 服务
sudo service nginx reload # 重新加载配置,一般是在修改过 nginx 配置文件时使用。

Nginx的配置文件和常用目录

#Nginx的全局配置文件
/etc/nginx/nginx.conf
#自定义配置文件目录
/etc/nginx/conf.d
#默认项目文件路径
/usr/share/nginx/html/
#日志文件目录
/var/log/nginx/
#安装文件
/etc/nginx

源码安装

安装依赖包

yum install -y pcre-devel zlib-devel openssl-devel wget gcc tree vim gcc-c++

下载源码

下载目录地址选择自己要下载的安装包,使用wget下载

wget http://nginx.org/download/nginx-1.9.1.tar.gz

解压编译

解压: tar -xzvfnginx-1.9.1.tar.gz

配置虚拟目录

  • 在Nginx配置目录下,创建一个”vhost”目录。本例假设Nginx是默认安装,配置目录在”/etc/nginx”
$ sudo mkdir /etc/nginx/vhost
  • 创建siteA的配置文件
$ sudo vi /etc/nginx/vhost/vhost_siteA.conf
  • 输入以下配置信息
server {
    listen       80;                        # 监听端口
    server_name www.siteA.com siteA.com;    # 站点域名
    root  /home/user/www/blog;              # 站点根目录
    index index.html index.htm index.php;   # 默认导航页
 
    location / {
        # WordPress固定链接URL重写
        if (!-e $request_filename) {
            rewrite (.*) /index.php;
        }
    }
 
    # PHP配置
    location ~ .php$ {
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }
}
  • 同siteA一样创建siteB的配置文件,两者仅有的不同是”server_name”和”root”目录
$ sudo vi /etc/nginx/vhost/vhost_siteB.conf
server {
    ...
    server_name www.siteB.com siteB.com;    # 站点域名
    root  /home/user/www/forum;             # 站点根目录
    ...
}
  • 打开nginx.conf文件
sudo vi /etc/nginx/nginx.conf
  • 将虚拟目录的配置文件加入到”http {}”部分的末尾
http {
    ...
    include /etc/nginx/vhost/*.conf;
}
  • 重启Nginx服务
$ sudo service nginx restart
  • 现在访问www.siteA.com和www.siteB.com,你将发现浏览器会打开不同的站点
原文地址:https://www.cnblogs.com/cuianbing/p/13347137.html