构建Nginx网站服务

news/2024/5/10 2:25:14/文章来源:https://blog.csdn.net/weixin_34315665/article/details/89858764

   随着计算机与Internet技术的蓬勃发展,各种Web站点成为直接面向用户的中坚力量,在各种网站服务器软件中,除了Apache外,还有一款轻量级的HTTP服务器软件——Nginx,其稳定性、高效的特性逐渐被越来越多的用户认可。本篇博客将搭建Nginx网站服务器,并配置基于域名的虚拟Web主机


Nginx的基本配置

   Nginx是由俄罗斯的Igor Sysoev专为性能优化而开发,其最知名的优点是它的稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力(单台物理服务器可支持30 000~50 000个并发请求)。正因为如此,大量提供社交网络、新闻资讯、电子商务及虚拟主机等服务的企业纷纷选择Nginx来提供Web服务


1. 安装Nginx

    Nginx的安装文件可以从官方网站http://www.nginx.org/下载,下面以稳定片1.6.0为例,介绍Nginx的安装和运行控制


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@localhost ~]# yum -y install pcre-devel zlib-devel            //Nginx的配置需要pcre、zlib等软件包的支持
[root@localhost ~]# useradd -M -s /sbin/nologin nginx               //创建一个nginx的程序用户
[root@localhost ~]# tar zxf nginx-1.6.0.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/nginx-1.6.0/
[root@localhost nginx-1.6.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
[root@localhost nginx-1.6.0]# make && make install   //启用http_stub_status_module模块以支持状态统计,便于查看服务器的连接信息
[root@localhost nginx-1.6.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/     
[root@localhost nginx-1.6.0]# nginx -t                        //检查配置文件是否有错误
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost nginx-1.6.0]# nginx                           //开启服务
[root@localhost nginx-1.6.0]# netstat -anpt | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*        LISTEN      4614/nginx  
[root@localhost nginx-1.6.0]# killall -s HUP nginx           //重载服务
[root@localhost nginx-1.6.0]# killall -s QUIT nginx          //关闭服务


2. 编写Nginx服务脚本

   为了使Nginx服务的启动、停止等操作更加方便,可以编写Nginx服务脚本,并使用chkconfig和service工具来进行管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
[root@localhost ~]# vim /etc/init.d/nginx      
#!/bin/bash
# chkconfig: 2345 99 20
# description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" in
  start)
   netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/null
   if [ $? -eq 0 ]
   then
     echo "Nginx service already running."
   else
     $PROG -t &> /dev/null
     if [ $? -eq 0 ] ; then
       $PROG
       echo "Nginx service start success."
     else
     $PROG -t
     fi
   fi
   ;;
  stop)
   netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/null
   if [ $? -eq 0 ]
   then
    kill -s QUIT $(cat $PIDF)
    echo "Nginx service stop success." 
   else
    echo "Nginx service already stop"
   fi
  ;;
  restart)
    $0 stop
    $0 start
    ;;
  status)
   netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/null
   if [ $? -eq 0 ]
   then
     echo "Nginx service is running."
   else
     echo "Nginx is stop."
   fi
  ;;
  reload)
   netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/null
   if [ $? -eq 0 ]
   then
    $PROG -t &> /dev/null
    if [ $? -eq 0 ] ; then
      kill -s HUP $(cat $PIDF)
      echo "reload Nginx config success."
    else
      $PROG -t
    fi
   else
      $PROG -t
    fi
   else
    echo "Nginx service is not run." 
   fi
    ;;
  *)
   echo "Usage: $0 {start|stop|restart|reload}"
   exit 1
esac
[root@localhost ~]# chmod +x /etc/init.d/nginx 
[root@localhost ~]# chkconfig --add nginx           //将nginx添加到系统服务


2. 配置文件nginx.conf

    在Nginx服务器的主配置文件,包括全局配置、I/O事件配置、HTTP配置三大块内容

(1)全局配置

1
2
3
4
5
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
#user  nobody;                     //运行用户
worker_processes  1;               //工作进程数量,可参考CPU核心总数来指定工作进程数
#error_log  logs/error.log;        //错误日志文件的位置
#pid        logs/nginx.pid;        //PID文件的位置


(2)I/O事件配置

    建议使用epoll模型以提高性能,进程的连接数根据实际需求来定,一般在10000以下(默认1024)

1
2
3
4
events {
    use epoll;                   //使用epoll模型
    worker_connections  1024;    //每个进程处理1024个连接,可按需求进行调整
}


(3)HTTP配置

   包括访问日志、HTTP端口、网页目录、默认字符集、连接保持等



Nginx的访问状态统计

    Nginx内置了HTTP_STUB_STATUS状态统计模块,用来反馈当前的Web访问情况。除了编译安装时需要启动该模块外,还需要修改nginx.conf配置文件,指定访问位置并打开stub_status配置

1
2
3
4
5
6
7
8
9
10
11
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
……省略部分内容
    server {
        location /status {        //访问的位置为/status
          stub_status on;         //打开状态统计功能
          access_log off;         //关闭此位置的日志记录
}
……省略部分内容
}
[root@localhost ~]# service nginx restart


    在浏览器中访问Nginx服务器的/status网站位置,可以看到当前的统计信息

杨书凡10.png




配置虚拟Web主机

    在前面的Apache服务中,已经介绍了基于域名、基于IP地址、基于端口号三种虚拟Web主机。而使用Nginx搭建虚拟Web主机服务器时,每个虚拟Web站点拥有独立的“server{ }”配置项,网站名称、IP地址、端口号都可以单独指定,下面将配置基于域名的虚拟Web主机

(1)搭建DNS服务器

    这里采用另一种方法,修改hosts文件,只能在本机解析域名

1
2
3
[root@localhost ~]# vim /etc/hosts
127.0.0.1       www.ysf.com
127.0.0.1       www.yangshufan.com


(2)准备网站目录及测试文件

1
2
3
4
[root@localhost ~]# mkdir /var/www/ysf
[root@localhost ~]# mkdir /var/www/yangshufan
[root@localhost ~]# echo www.ysf.com > /var/www/ysf/index.html
[root@localhost ~]# echo www.yangshufan.com > /var/www/yangshufan/index.html


(3)调整nginx.conf配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
http {
……省略部分内容
    server {
        listen       80;
        server_name  www.ysf.com;
        charset utf-8;
        #access_log  logs/host.access.log  main;
        location / {
            root   /var/www/ysf;
            index  index.html index.htm;
        }
     }
    server {
        listen       80;        
        server_name  www.yangshufan.com;
        location / {
            root   /var/www/yangshufan;
            index  index.html index.htm;
        }
    }  
}   
[root@localhost ~]# service nginx reload


(4)访问虚拟Web主机

    在浏览器中分别访问两个站点,若能看到测试文件,就表示虚拟Web主机的配置成功

杨书凡11.png











本文转自 杨书凡 51CTO博客,原文链接:http://blog.51cto.com/yangshufan/2060354,如需转载请自行联系原作者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_744964.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决liunx无法ping通任何网站

2019独角兽企业重金招聘Python工程师标准>>> 1 首先 添加dns服务器 vi /etc/resolv.conf 在文件中添加如下两行: nameserver 8.8.8.8 nameserver 8.8.4.4 保存退出,重启服务器。之后再ping 一次试一试 2 设置一个文件: vi /etc/sy…

简单的用户登录网站(HttpServlet版本1.0)

案例说明:在用户登录界面用户输入用户信息,若与固定用户信息相符,则跳转到欢迎界面,否则仍在登录界面. 思路: 1. 新建三个java文件,分别为Login.java, LoginCl.java, Wel.java (1) Login.java 用户登录页面 部署Servlet (2) LoginCl.java 处理用户信息的业务逻辑(检测是否与固…

网站图片防盗链:初级策略

哪个站长也不想自己的带宽白白像流入黑洞一般,被盗链流量所淹没,所以大致采取一些方法,或多或少减少这种盗链成本,下面介绍一种初级策略: 1、我们先举了例子,下面的图片我是在blog中引用www.souapp.com&am…

Django生成网站的sitemap.xml

Django有一个高级的Sitemap生成框架 一个Sitemap是一个你的网站的XML文件,它告诉搜索引擎索索引你的页面的更新频率和你的站点某些页面联系到其它页面 有多"重要",这个信息帮助搜索引擎索引你的站点,参看http://www.sitemaps.org得…

django+apache配置网站的robots.txt和sitemaps等理静态文件

当你的网站已经在公网上正常上线后,为了能被搜索引擎很好的收录网站结构,就必须主动向搜索引擎提供robots.txt和sitemap.xml, 先来看看什么是robots.txt和 sitemap.xml吧,以下摘自“维基百科” http://zh.wikipedia.org/zh-cn/Si…

大型高性能网站的十项规则

<!-- 来源 --> 在我们公司ChinaNetCloud&#xff0c;见 过多种不同类型的网站和系统&#xff0c;有好也有差。其中有些系统拥有良好的服务器/网络架构&#xff0c;并且进行了合理的调整和监控 &#xff1b;然而一般的系统都会有安全和性能上的 问题&#xff0c;不能良好运…

souapp:网站图片找不到,指向默认图片显示

如果你的网站上显示的图片不存在&#xff0c;总不能给访问者显示一个个小的图片吧&#xff0c;下面我们以www.souapp.com(搜应用网)为例&#xff1a; 当用户鼠标onMouseOver,"搞笑铃声-精选集合2"这个APP的时候&#xff0c;上面应该显示该APP的详细信息以及screensho…

souapp搜应用网:放弃IE浏览器的用户,你的网站能做到吗?

这几天调试souapp.com的页面&#xff0c;感觉chrome,firefox,ie总不可能达到一致的页面效果&#xff0c;非常之崩溃&#xff0c;chrome和firefox还不错了&#xff0c;最可气的就是那个IE&#xff0c;不仅页面布局乱七八糟&#xff0c;而且很多JS代码在IE下不支持&#xff0c;报…

php网站漏洞检测对sql注入漏洞防护

近日&#xff0c;我们SINE安全对metinfo进行网站安全检测发现&#xff0c;metinfo米拓建站系统存在高危的sql注入漏洞&#xff0c;攻击者可以利用该漏洞对网站的代码进行sql注入攻击&#xff0c;伪造恶意的sql非法语句&#xff0c;对网站的数据库&#xff0c;以及后端服务器进行…

www.souapp.com(搜应用网)推出了中文版和英语版网站

www.souapp.com(搜应用网) 在Google Android Market 的开发者们的强烈要求下&#xff0c;最近推出了中文版和英语版网站&#xff0c;希望中国开发者和国外开发者能够在souapp.com上推广自己的APP&#xff0c;并且根据souapp.com提供的APP统计&#xff0c;为自己的下一款APP的开…

中国5G普及为何会领先美国:建站更便宜,频谱更适合

据国外媒体报道&#xff0c;虽然美国无线运营商正在美国城市相继推出5G商用服务。但中国计划在明年年底之前在全国所有地级以上城市提供5G商用服务&#xff0c;然后在全国其他地区推广开来。中国无线运营商凭借更低的基站建设成本、更优质的5G频谱资源、更便捷的设备设施共享在…

[实用]推荐一些非常棒的前端网站

前言 有时候&#xff0c;提高效率的办法&#xff0c;比如收藏一些好用的网站。这么多年下来&#xff0c;收藏夹里面躺着一些好用的网站&#xff0c;来掘金的时候&#xff0c;收获了很多知识&#xff0c;这时候准备回馈点东西给你们。 ❝ 如果部分国外网站访问不了的&#xff0…

360浏览器收藏夹_你缺的不是收藏而是藏经阁——聊聊那些极好用的收藏夹整理插件/网站...

收藏是不少小伙伴的习惯&#xff0c;就我而言&#xff0c;收藏夹收藏的网址已经有535条&#xff0c;但我相信比我多的绝对是大有人在。虽然我们经常都会收藏&#xff0c;可是我们真的懂得收藏吗&#xff1f;或许&#xff0c;你缺的不是收藏而是一个懂你的藏经阁~~~第一步——从…

sqlserver 每天一行_学 SQL Server 我最常逛的 5 个网站

点击蓝色“有关SQL”关注我哟加个“星标”&#xff0c;天天与10000人一起快乐成长很多读者加我微信&#xff0c;问的问题都很类似&#xff0c;“有没有好的书可以推荐”&#xff0c;“我是上班族&#xff0c;没有时间看书&#xff0c;有没有快速入门、进阶的视频推荐&#xff1…

建网站怎么建mysql数据库_数据库的建立(mysql数据库怎么建表)

第一步&#xff1a;创建数据库使用CREATE DATABASE 语句&#xff1b;CREATE DATABASE 用于创建数据库&#xff1b;实例&#xff1a;希望创建一个名为"my_first_db"的数据库。create database my_first_db;执行语句后&#xff0c;你将会在左侧的mysql信息列表中&#…

前端学习网站

一、非技术类 1、V2EX&#xff1a;https://www.v2ex.com/ 程序员撕X大本营&#xff0c;很多业界热门撕X都是从这个论坛吵起来的&#xff0c;适合吃瓜 2、IT 公论&#xff1a;https://itgonglun.com/archive/2015/#e-2918 音频节目&#xff0c;已经停更几年了&#xff0c;但有…

html蔚蓝网注册页面,如何在网站中添加手机短信验证码注册功能?

原标题&#xff1a;如何在网站中添加手机短信验证码注册功能&#xff1f;这个功能大家都非常熟悉了&#xff0c;就不废话了&#xff0c;直接入正题!下面以使用榛子云短信为例:1. 首先注册一个榛子云账号&#xff0c;注册地址: http://sms_developer.zhenzikj.com/zhenzisms_use…

50 多个提高前端人效率的工具、网站和书籍整理

本文包含了在线编译&#xff0c;在线编辑、实用工具、可视化工具、各种前端电子书等50多个网站&#xff0c;快放到你的收藏夹吃灰吧 如果你看到最后了&#xff0c;记得给我一个免费的赞哦 在线编译&#xff08;编辑&#xff09;、playground JS 代码混淆 www.jsfuck.com/ 嗯…

70+ 实用工具网站分享(建议收藏!)

前言 大家好&#xff0c;我是HoMeTown&#xff0c;好的工具&#xff0c;可以帮助我们大幅提高编程效率&#xff0c;今天给大家分享一下我平时收集到的一些工具&#xff0c;目录已经分好了。 JavaScript JavaScript教程 通俗易懂的JavaScript教程 传送门 ES6教程 阮一峰大佬…

大型互联网网站割接方案

某国内大型网站改版&#xff0c;线上运行中的网站是由A部门负责&#xff0c;改版工作和以后的维护工作由B部门负责&#xff0c;我担任B部门改版项目的负责人。 前期的架构设计中面临两点问题&#xff1a; 1. A部门和B部门的技术框架和架构设计是不一样&#xff0c;且改版…