运维初学者必备-centos7搭建nginx服务

环境:
系统:centos7.6
nginx版本:1.20.1
安装方式:yum 安装

一、nginx简介:

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。

nginx官网地址:nginx官网

二、安装nginx:

1.可通过yum直接安装或编译包安装,本文主要以yum安装:

yum list nginx    //查看yum源库中nginx版本
yum install nginx     //安装nginx
nginx  -v              //查看安装成功的版本

如图:
安装nginx示例图
安装nginx成功的版本

2.启动nginx服务:

通过yum安装,nginx默认安装路径为:/usr/sbin文件夹下;nginx配置文件默认路径:/etc/nginx:

/usr/sbin/nginx -c /etc/nginx/nginx.conf     //启动nginx服务

启动成功如图:
nginx启动成功示例图

3.nginx站点路由设置:

/etc/nginx/conf.d文件夹下存放nginx站点配置文件:
站点配置:

server {
        listen       80;                //监听端口
        server_name  8.8.8.8;         //ip地址
        root   /var/www/html/public;      //代码路径
        location / {
            index  index.html index.htm index.php;
            autoindex  on;
        if ( -f $request_filename) {
              break;
            }
            if ( !-e $request_filename) {
              rewrite ^(.*)$ /index.php/$1 last;
              break;
            }
        }
        location ~ \.php(.*)$ {                         //php配置
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}

ssl证书配置:

server {
        listen       443 ssl;
        server_name  www.chongni.com ;               //域名
        root   /var/www/html/public;
        ssl_certificate    /var/ssl/www.chongni.crt;          //证书位置
        ssl_certificate_key /var/ssl/www.chongni.com.key;     //证书密钥
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ALL:!DH:!EXPORT:!RC4:+HIGH:+MEDIUM:!LOW:!aNULL:!eNULL;
        location / {
            index  index.html index.htm index.php;
            autoindex  on;
        if ( -f $request_filename) {
              break;
            }
            if ( !-e $request_filename) {
              rewrite ^(.*)$ /index.php/$1 last;
              break;
            }
        }
        location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}

三.安装与配置过程中的注意事项:

1.yum install nginx 失败,则是centos默认库库里没有nginx,需要下载第三方yum源,这里推荐使用阿里云的yum源库。

解决方法:切换yum源库

2./usr/sbin/nginx -c /etc/nginx/nginx.conf 启动失败,需查看是否端口冲突或nginx文件不存在。

3.配置完站点文件,需重启nginx生效,若重启失败,需查看配置文件的端口/是否冲突。

4.新购阿里/腾讯服务器等搭建nginx时,nginx/apache配置启动正常,但页面仍显示无法访问,其中最常见的问题是因为新服务器,官方后台安全组默认未开放80端口,需手动操作开放80端口。

解决方式:
云服务器ECS-安全组-配置实例策略-开放80端口即可。
如图:
具体原因展示
开放80端口策略
若仍无法访问,则需要细心检查conf.d下的文件和防火墙策略。