运维初学者必备-centos7搭建nginx服务
运维初学者必备-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 //查看安装成功的版本
如图:
2.启动nginx服务:
通过yum安装,nginx默认安装路径为:/usr/sbin文件夹下;nginx配置文件默认路径:/etc/nginx:
/usr/sbin/nginx -c /etc/nginx/nginx.conf //启动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端口即可。
如图:
若仍无法访问,则需要细心检查conf.d下的文件和防火墙策略。