zoukankan      html  css  js  c++  java
  • Websites with nginx on CentOS 5

    Websites with nginx on CentOS 5 – Linode Library

    Websites with nginx on CentOS 5

    Published: Thursday, February 25th, 2010 by Sam Kleinman

    Nginx is a lightweight and high performance web server designed
    with the purpose of delivering large amounts of static content quickly
    and with efficient use of system resources. In contrast to the Apache
    HTTP server
    that uses a threaded or
    process-oriented approach to handling requests, nginx uses an
    asynchronous event-driven model which provides more predictable
    performance under load.

    Although nginx is a relatively new entrant in the web server field, it
    has achieved a great deal of respect for its agility and efficiency,
    particularly in high profile situations. Many very high traffic and
    profile websites have begun to use nginx for its efficiency. At the
    same time, administrators of smaller systems have found nginx ideal
    for their systems for its slim memory footprint.

    Before we begin installing the nginx web server, we assume that
    you have followed our getting started guide. If
    you're new to Linux server administration, you may be interested in our
    using Linux document series including the
    beginner's guide and
    administration basics guide.

    Set the Hostname

    Before you begin installing and configuring the components described in this guide, please make
    sure you've followed our instructions for setting your hostname.
    Issue the following commands to make sure it is set properly:

    hostname
    hostname -f
    

    The first command should show your short hostname, and the second should show your
    fully qualified domain name (FQDN).

    Installing nginx from EPEL Packages

    The packages required to install nginx and its dependencies are
    not available in the standard CentOS repositories. However, there are
    packages to install nginx in the "EPEL "
    system. EPEL, or "Extra Packages for Enterprise Linux", is a product
    of the Fedora Project that attempts to provide enterprise-grade
    software that's more current than what is typically available in the
    CentOS repositories. While using this method will leave you with a
    working web server, it is not the preferred method for installing
    nginx.
    Nevertheless, if you want to install in this manner, use the
    process that follows. Begin by enabling the EPEL repository with the
    following command:

    rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
    

    Issue the following commands to first ensure your system is up to date
    and then install the nginx packages:

    yum update
    yum install nginx
    

    During the installation process you will need to accept the EPEL
    repository's key before the installation can complete. Once finished,
    start nginx with the following command:

    /etc/init.d/nginx start
    

    You can now continue with the configuration
    of nginx. Installing nginx in this manner will allow you to rely on
    the EPEL maintainers to provide quality control, testing, and security
    teams to ensure that you're running the best possible version of the
    server. However, the packages provided by the EPEL project do not
    necessarily track the latest development of the nginx server and do
    not allow you to enable certain nginx options at compile time. Given
    the rapid development of nginx and variances between recent versions,
    installing from distribution packages is not ideal for many
    users. Continue to the next section to install nginx directly from
    source.

    Installing nginx from the Source Distribution

    Install Prerequisites

    Because of the rapid development of the nginx web server and recent
    changes to the interface, many users of nginx compile their version of
    the software from sources provided by the nginx developers. Additional
    benefits include the ability to configure nginx to support additional
    third party modules and options which must be set at compile time.
    This document is written against the most recent release in the stable
    series of the server (version 1.0.0).

    Begin by ensuring that your system's package database and installed
    programs are up to date by issuing the following command:

    yum update
    

    You will also need to install several dependent packages
    before proceeding with the nginx installation. Issue the following
    command:

    yum install zlib-devel wget openssl-devel pcre pcre-devel sudo gcc make autoconf automake
    

    At this point you can continue with the compilation and installation
    of nginx.

    Download and Compile nginx

    The source files and binaries will be downloaded in the /opt/
    directory of the file system in this example. Issue the following
    sequence of commands to enter this directory, download the required
    files, and extract the source files from the archive:

    cd /opt/
    wget http://nginx.org/download/nginx-1.0.0.tar.gz
    tar -zxvf nginx-1.0.0.tar.gz
    cd /opt/nginx-1.0.0/
    

    Now we can compile the nginx server. If you want to enable
    third-party modules,
    append options to ./configure at this juncture. Issue the
    following command to configure the build options:

    ./configure --prefix=/opt/nginx --user=nginx --group=nginx --with-http_ssl_module
    

    When the configuration process completes successfully, you will see
    the following output:

    nginx path prefix: "/opt/nginx"
    nginx binary file: "/opt/nginx/sbin/nginx"
    nginx configuration prefix: "/opt/nginx/conf"
    nginx configuration file: "/opt/nginx/conf/nginx.conf"
    nginx pid file: "/opt/nginx/logs/nginx.pid"
    nginx error log file: "/opt/nginx/logs/error.log"
    nginx http access log file: "/opt/nginx/logs/access.log"
    nginx http client request body temporary files: "client_body_temp"
    nginx http proxy temporary files: "proxy_temp"
    nginx http fastcgi temporary files: "fastcgi_temp"
    

    To build and install nginx with the above configuration, use the
    following command sequence:

    make
    make install
    

    You will also need to create a user and group for nginx; issue the
    following command:

    useradd -M -r --shell /sbin/nologin --home-dir /opt/nginx nginx
    

    Nginx is now installed in /opt/nginx.

    Monitor for Software Updates and Security Notices

    When running software compiled or installed directly from sources
    provided by upstream developers, you are responsible for monitoring
    updates, bug fixes, and security issues. After becoming aware of
    releases and potential issues, update your software to resolve flaws
    and prevent possible system compromise. Monitoring releases and
    maintaining up to date versions of all software is crucial for the
    security and integrity of a system.

    Please follow the announcements, lists, and RSS feeds on the following
    pages to ensure that you are aware of all updates to the software and can
    upgrade appropriately or apply patches and recompile as needed:

    When upstream sources offer new releases, repeat the instructions for
    installing nginx, spawn-fcgi, and uWSGI, and recompile your software
    when needed. These practices are crucial for the ongoing security and
    functioning of your system.

    Create an Init Script to manage nginx

    Before we can begin to use the nginx server, we must create a means of
    controlling the daemon process. You can create an "init script" using
    this example to control
    nginx. Issue the following commands to download the file, change the
    execution mode, and set the system to initialize nginx on boot:

    wget -O init-rpm.sh http://library.linode.com/assets/662-init-rpm.sh
    mv init-rpm.sh /etc/rc.d/init.d/nginx
    chmod +x /etc/rc.d/init.d/nginx
    chkconfig --add nginx
    chkconfig --level 2345 nginx on
    

    You can now start, stop, and restart nginx just like any other server
    daemon. For example, to start the server, issue the following command:

    /etc/init.d/nginx start
    

    Congratulations! You now have a running and fully functional HTTP
    server powered by the nginx web server. Continue reading our
    introduction to basic nginx configuration
    for more information about using and setting up the web server.

    More Information

    You may wish to consult the following resources for additional
    information on this topic. While these are provided in the hope that they will
    be useful, please note that we cannot vouch for the accuracy or timeliness of
    externally hosted materials.

  • 相关阅读:
    poj 3348 Cows
    HDOJ4467 ( 分块 思想 )
    HDOJ 4858 项目管理 ( 只是有点 莫队的分块思想在里面而已啦 )
    luogu P1494 [国家集训队]小Z的袜子 ( 普 通 )
    CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT
    load d3dcompiler_46.dll failed
    HDAO one error
    PS4 Razor GPU
    BLUR
    疑难杂症rendering(对角线上的线)
  • 原文地址:https://www.cnblogs.com/lexus/p/2492019.html
Copyright © 2011-2022 走看看