Nginx 安装配置

Nginx 是 HTTP、反向代理服务器,也是邮件、通用 TCP/UDP 代理服务器,最初由 Igor Sysoev 编写。本篇文章简单的整理下关于 Nginx 的安装配置。

Linux 安装

** Yum **

  1. 添加 Nginx 源

    1
    yum install yum-utils
    /etc/yum.repo.d/nginx.repo
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    [nginx-stable]
    name=nginx stable repo
    baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
    gpgcheck=1
    enabled=1
    gpgkey=https://nginx.org/keys/nginx_signing.key
    module_hotfixes=true

    [nginx-mainline]
    name=nginx mainline repo
    baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
    gpgcheck=1
    enabled=0
    gpgkey=https://nginx.org/keys/nginx_signing.key
    module_hotfixes=true
  2. 更新 Yum 源

    1
    2
    yum clean all
    yum makecache
  3. 安装

    1
    yum -y install nginx

默认是 Yum 使用稳定版本的 Nginx,如果需要切换最新版本可以在完成第 1 步后执行下面命令:

1
yum-config-manager --enable nginx-mainline

常用命令

1
2
3
4
5
systemctl start nginx
systemctl stop nginx
systemctl restart nginx
systemctl reload nginx
systemctl status nginx

Note:

默认 Linux 是开启防火墙的,外部无法访问里面的接口,需关闭或开放访问端口,相关内容 Linux 防火墙管理

添加虚拟主机

虚拟主机就是网站域名绑定的访问路径。

/etc/nginx/nginx.conf
1
2
3
4
5
6
7
8
9
10
http {
# ...
server {
listen 80;
root /var/www/vue-element-admin;
server_name admin.study.com;
index index.html index.htm;
}
# ...
}

PHP 解析配置

在对应主机 server 中添加下面片段:

/etc/nginx/nginx.conf
1
2
3
4
5
6
7
8
9
10
server {
# ...
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# ...
}

Note:

如 PHP 还没安装可参考 PHP 安装配置,127.0.0.1:9000 是 php-fpm 默认的处理端口,不同需自行修改。

FQA

虚拟主机指定了目录但是访问不到对应的文件

  • 可能是 SELinux 导致的,可直接关闭该软件

    /etc/selinux/config
    1
    SELINUX=disabled
  • 文件的权限不足,可通过 ls -al 查看文件组和权限,也可以使用以下命令打开全部权限

    1
    chmod 777 -R /var/www/project

    Linux 的文件权限不是一句两句就能说清楚的事情,深入可阅读 Linux 文件权限

扩展