Nginx网站服务与LNMP架构部署(详解)

1.Nginx服务基础

Nginx的简介

​ 一款高性能,轻量级Web服务软件

​ 1.稳定性高

​ 2.系统资源消耗低

​ 3.对HTTP并发连接的处理能力高

​ 单台物理服务器可支持30000-50000个并发请求

2.编译安装Ngiax

安装支持软件
yum -y install gcc gcc-c++ make pcre-devel zlib-devel

创建运行用户,组
useradd -M -s /sbin/nologin nginx

编译安装Nginx
cd /opt
tar xzf nginx-1.12.2.tar.gz
cd nginx-1.12.2

./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module

make -j3 && make install

为了使Nginx服务器的运行更加方便,可以为主程序nginx创建链接文件,以便管理员直接执行“nginx”命令就可以调用Nginx的主程序
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

3.Nginx的运行控制

检查配置文件
nginx -t		//配置文件语法检查

启动,停止Nginx
nginx		//启动服务
killall -1 nginx	//安全重启	killall -s HUP nginx
killall -3 nginx	//停止服务	killall -s QUIT nginx

使用Nginx服务脚本
为了使Nginx服务的启动,停止,重载等操作更加方便,可以编写Nginx服务脚本,并使用chkconfig和service工具来进行管理,也更加符合RHEL系统的管理习惯。

vi /etc/init.d/nginx
#!/bin/bash
# chkconfig: 35 99 20
# description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" in
   start)
     $PROG
     ;;
   stop)
     kill -s QUIT $(cat $PIDF)
     ;;
   restart)
     $0 stop
     $0 start
     ;;
   reload)
     kill -s HUP $(cat $PIDF)
     ;;
   *)
     echo "Usage: $0 {start|stop|restart|relad}"
     exit 1
esac
exit 0

chmod +x /etc/init.d/nginx
chkconfig --add nginx

这样一来,就可以通过Nginx脚本来启动,停止,重启,重载Nginx服务器了,方法是在执行时添加相应的start,stop,restart,reload参数。

4.配置文件nginx.conf

在Nginx服务器的主配置文件/usr/local/nginx/conf/nginx.conf中,包括全局配置,I/O事件配置和HTTP配置这三大块内容,配置语句的格式为“关键字 值;”(末尾以分号表示结束),以“#”开始的部分表示注释

1.全局配置

由各种配置语句组成,不使用特定的界定标记,全局配置部分包括Nginx服务的运行用户,工作进程数,错误日志,PID存放位置等基本设置。

#user  nobody;			//运行用户
worker_processes  1;		//工作进程数
#error_log  logs/error.log;	//错误日志文件的位置
#pid        logs/nginx.pid;		//PID文件的位置

上述配置中,worker_processes表示工作进程数。若服务器有多块CPU或者使用多核处理器,可以参考CPU核心总数来指定工作进程数,如设为8;如果网站访问量需求不大,一般设为1就够用了。其他三项均已有注释,表示采用默认设置,例如,Nginx的运行用户实际是编译时指定的nginx,若编译时未指定则默认为nobody。

2.I/O事件配置

使用“events{  }” 界定标记,用来指定Nginx进程的I/O响应模型,每个进程的连接数等设置。对于2.6及以上版本的内核,建议使用epoll模型以提高性能;每个进程的连接数应根据实际需要来定,一般在10000以下(默认为1024)

events {
    use epoll;					//使用epoll模型
    worker_connections  4096;		//每进程处理4096个连接
}

若工作进程数为8,每个进程处理4096个连接,则允许Nginx正常提供服务的连接数已超过3万个,(4096✖8=32768),当然具体还要看服务器硬件,网络带宽等物理条件的性能表现。

3.HTTP配置

使用“http {  }” 界定标记,包括访问日志,HTTP端口,网页目录,默认字符集,链接保持,以及后面要讲到的Web主机,PHP解析等一系列设置,其中大部分配置语句都包含在子界定标记“server {  }”内。

http {
    include       mime.types;
    default_type  application/octet-stream;
    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  logs/access.log  main;		//访问日志位置
    sendfile        on;						//支持文件发送(下载)
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;				//连接保持超时
    #gzip  on;
server {							//Web服务的监听配置
        listen       80;					//监听地址及端口
        server_name  localhost;			//网站名称(FQDN)
        charset utf-8;					//网页的默认字符集
        ac
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值