Nginx服务器详解

1、检查网络环境,查看服务器是否可以上网

2、Centos 7 配置阿里云 yum源和安装 EPEL源

(1)对默认原文件进行备份
#cd /etc/yum.repos.d
#mkdir bak
#mv *.repo bak/
(2)配置阿里云yum源
#wget http://mirrors.aliyun.com/repo/Centos-7.repo
#yum clean all
#yum makecache
(3)安装 EPEL源
#yum install -y epel-release

3、安装nginx并配置服务

(1)安装nginx服务:
#yum install nginx
主配置文件:/etc/nginx/nginx.conf

events模块:https://blog.csdn.net/zhangsheng_1992/article/details/51689980

http模块:https://blog.csdn.net/chinabestchina/article/details/80993086

服务名称:nginx
监听端口:80
默认网站主目录:/usr/share/nginx/html
日志文件:
error_log /var/log/nginx/error.log;
error_log /var/log/nginx/access.log ;
日志格式分析
log_format  main   '$remote_addr - $remote_user [$time_local] "$request" '
                   '$status $body_bytes_sent "$http_referer" '
                   '"$http_user_agent" "$http_x_forwarded_for"';     # 日志格式

安全加固:https://www.cnblogs.com/xiaozi/p/10119062.html

(2)修改nginx配置文件,将网站写在包含文件当中
备份配置文件 
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
在配置文件里加入包含文件 
vim /etc/nginx/nginx.conf
在文件最后一个}号前添加:
	include /etc/nginx/vhost/*.conf;
(3)在/etc/nginx目录下新建vhost目录,并在下面新建www.test.conf与www.hr.conf两个域名配置文件,并作如下编辑。
cd /etc/nginx;mkdir vhost;cd vhost
vim www.test.conf
    server{
        listen 192.168.75.131:80;  #监听哪个服务器下的哪个端口;
        server_name www.test.com;  #使用什么域名访问
        location / {
            root /data/test;  #网站存放的路径 根目录下没有data 需要新建mkdir /data目录
            index index.html; #指定访问的主页名,多个主页用空格隔开
    	}
    }
vim www.hr.conf
server{
    listen 192.168.75.131:80;
    server_name www.hr.com;
    location / {
        root /data/hr;
        index index.html;
}
}
(4)将网站文件test和hr都放到/data/目录下
mkdir /data
放网站文件 
(5)配置完成后重启服务:
systemctl restart nginx
(6)关闭防火墙和安全机制 :
systemctl stop firewalld.service
setenforce 0

4、配置基于域名的虚拟主机

域名注册,在/etc/hosts中追加一行:

vim /etc/hosts
	192.168.75.131 www.test.com www.hr.com

5、网站访问测试

在浏览器分别输入www.test.com和www.hr.com测试公司是否能够访问

6、配置文件排错

nginx -t

7、配置文件详解

user nginx nginx;  #主模块命令,指定Nginx的worker进程运行用户以及用户组,默认为nginx。
worker_processes auto;  #指定Nginx要开启的进程数,受Linux系统进程的最大打开文件数限制,在执行操作系统命令“ulimit -n 65536 ”后才生效。一般设置为cpu的2倍左右
error_log /var/log/nginx/error.log debug;    定义全局错误日志文件。日志输出格式不debug、info、notice、warn、error、crit可供选择,其中debug输出日志最为详细,而crit输出日志最少。
pid /run/nginx.pid;  #指定进程ID的存储文件位置。

events {             #设置Nginx的工作模式及连接数上限。
use  epoll;	    #设置工作模式(select、poll、kqueue、epoll、rtsing、/dev/poll)
               #其中select、poll是标准工作模式;kqueue、epoll是高效工作模式;epoll首选。
worker_connections 1024;   #定义每个进程的最大连接数,默认是1024。最大客户端连接数由#worker_processes与worker_connections决定。
}

http{               
	log_format  main   '$remote_addr - $remote_user [$time_local] "$request" '
                   '$status $body_bytes_sent "$http_referer" '
                   '"$http_user_agent" "$http_x_forwarded_for"';     # 日志格式

    access_log  /var/log/nginx/access.log  main;   #访问日志存放位置及格式  

    sendfile            on;   #开启高效文件传输模式。将tcp_nopush、tcp_nodelay设置为on,防止网络阻塞。
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;  #设置客户端连接保持活动的超时时间,超时后服务器会关闭连接。
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;  #对配置文件所包含文件的设定,可以减少主配置文件的复杂度。
	default_type        application/octet-stream;  #http核心模块命令,默认类型为二进制流,也就是当文件类型未定义时使用这种方式。如时,没有配置PHP环境Nginx是不予解析的。

		listen       80 default_server;       指定虚拟主机的服务端口
        listen       [::]:80 default_server;   
        server_name  _;    指定IP地址或域名,多个域名之间用空格分开 使用什么域名访问。
        root         /usr/share/nginx/html;   网页根目录。
        index index.html index.htm             默认首页地址。
        charset    设置网页的默认编码格式。
        # Load configuration files for the default server block.
        
        include /etc/nginx/default.d/\*.conf;
    server {
    listen    80 default_ server; //监听IPV4的80窗口
    Listen    [ : : ]: 80 default_ server;监听IPV6的80窗口
    server_ name _;  //指定域名名
    root    /usr/share/nginx/html;   #表示指定上面域名存放的位置,网站的根目录
    # Load configuration files for the default server block.
    include /etc/ nginx/default. d/\*. conf;  #包含文件
    
    location / {   # URL的匹配设置,/可以支持正则表达式
    
    error_ page 404 /404. html;  #错误页
    location = /40x. html {
    }
    
    error_ page 500 502 503 504 /50x. html;
    location = /50x. html {
    }
}

例:搭建Nginx服务器

1、配置阿里云yum源,安装EPEL源,安装nginx服务

wget http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
yum install -y epel-release

2、修改配置文件/etc/nginx/nginx.conf在最后一个}前加上包含文件语句

vim /etc/nginx/nginx.conf
include /etc/nginx/vhost/*.conf

3、新建vhost目录,并编辑域名配置文件

mkdir /etc/nginx/vhost
cd /etc/nginx/vhost
vim www.test.conf
server{
    listen 192.168.139.131:80;
    server_name www.test.com;
    location / {
        root /data/test;
        index index.html;
}
}

在这里插入图片描述
4、把网站放在/data目录下(这里新建一个网站)

mkdir /data
cd /data
mkdir test
echo “this is test” > index.html

5、关闭防火墙和安全机制并重启服务

systemctl stop firewalld
setenforce 0
systemctl restart nginx

在这里插入图片描述
6、配置基于域名的虚拟主机

vim /etc/hosts
	192.168.139.131 www.test.com

7、访问www.test.com
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值