CentOS下nginx简单安装

news/2024/7/9 15:57:43 标签: epoll, 操作系统, 运维

说明:
环境

系统:Centos 6
软件包:nginx-1.2.4

配置系统yum源

#/etc/yum.repos.d/
#rm -rf ./*
vi localhost.repos.d
[yumyuan] 
name=CentOS-$releasever - Media                                       #自定义名称  
baseurl=file:///mnt/cdrom/                                            #本地光盘挂载路径
gpgcheck=0                                                            #检查GPG-KEY,0为不检查,1为检查  
enabled=1                                                             #启用yum源,0为不启用,1为启用

2: 安装步骤
因为nginx模块需要第三方库的支持,需要安装下列库.
安装gcc编译器及相关工具

#yum -y install gcc gcc-c++ autoconf automake make

安装相关依赖的模块

yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel

创建nginx系统账户:
由于nginx是系统服务,运行此服务需要系统账户。

# groupadd nginx
# useradd -r -g nginx -s /sbin/nologin -M nginx
软件源码包存放位置:/opt/
#cd /opt/
# tar -zxvf nginx-1.2.4.tar
#cd nginx-1.2.4
#./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module  --with-http_ssl_module    //通过编译源码的方式进行安装 
#make
#make install         
 启动Nginx
#启动nginx
#/usr/local/nginx/sbin/nginx -t
显示以下信息为正确的

the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok configuration file /usr/local/nginx/conf/nginx.conf test is successful


#/usr/local/nginx/sbin/nginx
启动成功后,查看nginx进程信息: # ps -ef | grep nginx ,看是否存在nginx的进程来确认是否成功启动。

1.在配置nginx 时提示如下错误时:
#/usr/local/nginx/sbin/nginx -t
nginx: [emerg] getpwnam(“nginx”) failed

解决方案

在nginx.conf中 把user nobody的注释去掉既可

2.重启nginx后丢失nginx.pid问题解决

/usr/local/nigix/sbin/nginx -c /usr/local/nigix/conf/nginx.conf

重启动nginx

#/usr/local/nginx/sbin/nginx -s reload

测试http://ip地址/
同时记得检查centos防火墙设置,是否开启了相应端口,可使用setup命令来设置防火墙、dns、网络等信息。如果默认的配置文件未做任何改动,使用浏览器直接访问nginx server,会出现提示:Welcome to Nginx  

nginx.conf文件详解:

########nginx全局配置,将影响其他所有设置###################################
#user  nobody;                          # worker进程运行用户以及用户组
worker_processes  2;                    #启动进程,通常设置成和cpu的数量相等
error_log  /var/log/nginx/error.log;    ##全局错误日志及PID文件
pid        /var/run/nginx.pid;          #指定进程id的存储文件位置

#工作模式及连接数上限
events {
     use   epoll;                #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能
     worker_connections  1024;    #单个后台worker process进程的最大并发链接数
    #multi_accept on;
 }
#对http服务器进行配置
http {
       #设定mime类型,类型由mime.type文件定义
       include       /etc/nginx/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  /var/log/nginx/access.log main

      #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,
      #必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.
       sendfile        on;
       #tcp_nopush     on;

        #连接超时时间
        #keepalive_timeout  0;
         keepalive_timeout  65;
         tcp_nodelay        on;

        #开启gzip压缩
        gzip  on;
        gzip_disable "MSIE [1-6]\.(?!.*SV1)";
#主机设置
       server {
       #侦听80端口
            listen       80;
            #定义使用www.xx.com访问
            server_name  www.xx.com;
            #设定本虚拟主机的访问日志
            access_log  logs/www.xx.com.access.log  main;       
#默认请求(url匹配设置)
        location / {
               root   /usr/local/nginx/html;      #定义服务器的默认网站根目录位置
              index index.php index.html index.htm;   #定义首页索引文件的名称
       
             }
        
         # 定义错误提示页面
        error_page   500 502 503 504 /50x.html;
             location = /50x.html {
             root   /usr/local/nginx/html;
             }
       } #server
 }

   

转载于:https://www.cnblogs.com/saneri/p/5420552.html


http://www.niftyadmin.cn/n/1501340.html

相关文章

Java API —— 多线程(2)

1、JDK5中Lock锁的使用   虽然我们可以理解同步代码块和同步方法的锁对象问题,但是我们并没有直接看到在哪里加上了锁,在哪里释放了锁,为了更清晰的表达如何加锁和释放锁,JDK5以后提供了一个新的锁对象Lock。   Lock     …

简单的cookie读写封装

<!DOCTYPE html><html lang"en"><head><meta charset"UTF-8"><title>简单的cookie封装</title></head><body></body><script>var cookies{name:this.name,value:this.value,day:this.day,set…

都说软件测试工作不难有手就行,但为何这么多劝退的?

上一个说软件测试简单的&#xff0c;已经被面试官问emo了... 现在已经过了 ”不会但我会学“ 就能感动面试官的时代&#xff0c;随着供需关系的变化&#xff0c;不论是对于面试官还是面试者&#xff0c;面试的成本越来越高。为了筛选到更优秀的程序员&#xff0c;面试官们可谓…

一句sql执行过程

一.大概过程 客户端通过网络协议把语句发送到服务端&#xff0c;服务端接收到请求后会分配一个线程&#xff0c;因为MySQL是单线程的&#xff0c;所以任意时刻都只有一个线程在执行&#xff0c;而其他的线程会处于等待状态&#xff0c;-》然后会再缓存里查看是否有已经查询到的…

深圳出差有感

来深圳已经三天了&#xff0c;见了一些朋友&#xff0c;提及一些过去的事情&#xff0c;感慨万千&#xff0c;转眼间好多年过去&#xff0c;每一个人都产生了很多变化&#xff0c;个人&#xff0c;家庭&#xff0c;生活&#xff0c;工作......&#xff0c;人生的追求也变得不同…

辗转相除法的证明

描述&#xff1a;关于辗转相除法的具体实现在这里就不具体说明了&#xff0c;本文要记录的是辗转相除法应用于求最大公约数的算法证明过程。 假设&#xff1a; 求m和n的最大公约数。a,b分别是m除以n的商和余数&#xff0c;即mnab。gcd(m,n)表示m和n的最大公约数。  求证&…

如何学习软件测试开发?从入门到精通?

如何学习软件测试开发&#xff1f;从入门到精通&#xff1f;刚开始学习软件测试的同学要经历一段从学习到入行再到熟练的过程。掌握软件测试基础知识、学习软件测试的思维、将理论知识运用到实践中&#xff0c;做到真正的理解软件测试的理论知识。作为软件测试工程师应该搞清楚…

仿 浏览器 alert

原先用的 alert 样式 不好看&#xff0c;然后就手动写了 一个 div 仿 alert ,仅实现 简单的 弹出 关闭&#xff08;还有一个思路是 dialog&#xff09; 现在发现的问题是 不能像 原生的 alert 一样&#xff0c; 实现 弹出框之后 无法点击 页面 其他 内容 。想法是 加 一个 背…