如何进行Nginx源码编译安装

如何进行Nginx源码编译安装

一、Nginx概述

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
优点:
1、稳定性高;
2、对系统资源消耗低;
3、对HTTP并发连接的处理能力高。

二、安装步骤

1、关闭防火墙

systemctl stop firewalld.service 
systemctl disable firewalld.service
setenforce 0

在这里插入图片描述

2、上传压缩包并解压缩

tar zxvf nginx-1.12.2.tar.gz //如果包不在/opt目录下,需要-C /opt/解压到opt目录下

在这里插入图片描述

3、安装依赖环境

yum -y install gcc gcc-c++ pcre-devel zlib-devel make  //安装C语言、函数、编译等依赖环境

在这里插入图片描述

4、进入/opt目录下的Nginx目录并编译安装Nginx

cd /nginx-1.12.2/  //如果不在/opt目录下,在前面加绝对路径。

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module   //加载功能模块

make && make install  //编译

5、通过软连接优化

ln -s /usr/local/nginx/sbin/* /usr/local/sbin/  //优化访问路径

6、创建管理用户

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

7、检查、启用、添加系统管理

nginx -t  //检查配置文件是否正确
nginx     //启动Nginx

注:
---停止Nginx服务---
cat /usr/local/nginx/logs/nginx.pid  //查看Nginx的PID号
kill -3 <PID>
kill -s QUIT <PID>
killall -3 nginx
killall -s QUIT nginx

---重载---
kill -1 <PID>
kill -s HUP <PID>
killall -1 nginx
killall -s HUP nginx

添加Nginx系统服务

方式一:
vim /etc/init.d/nginx  //创建nginx文件
#!/bin/bash
# chkconfig: - 99 20  //“-”表示不启用开机启动管理,不加#,chkconfig add nginx 会加载不到配置
# description: Nginx Service Control Script
COM="/usr/local/nginx/sbin/nginx"				//命令程序文件位置(nginx)
PID="/usr/local/nginx/logs/nginx.pid"			//pid文件
case "$1" in
start)
   $COM
   ;;
stop)
   kill -s QUIT $(cat $PID)
   ;;
restart)
   $0 stop
   $0 start
   ;;
reload)
   kill -s HUP $(cat $PID)
   ;;
*)
       echo "Usage: $0 {start|stop|restart|reload}"
       exit 1
esac
exit 0
----->wq

chmod +x /etc/init.d/nginx  //赋予权限
chkconfig --add nginx       //添加为系统服务
systemctl stop nginx
systemctl start nginx       //停止、启动服务 

注:可在/etc/rc.d/init.d 目录下查看到nginx服务。
方式二:
vim /usr/lib/systemd/system/nginx.service
[Unit]	
Description=nginx							//描述
After=network.target						//描述服务类别
[Service]
Type=forking								//后台运行类型
PIDFile =/usr/local/nginx/logs/nginx.pid	//PID文件位置
ExecStart=/usr/local/nginx/sbin/nginx		//启动服务
ExecrReload=/bin/kill -s HUP $MAINPID		//根据PID重载配置
ExecrStop=/bin/kill -s QUIT $MAINPID		//根据PID终止进程
PrivateTmp=true
[Install]
WantedBy=multi-user.target					//启动级别

chmod 754 /lib/systemd/system/nginx.service		//设置754权限是一种安全优化
systemctl start nginx.service
systemctl enable nginx.service

8、关于主配置文件注意事项(nginx.conf)

1、备份防止出错:
cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak  //.bak属于备份文件
2、主配置文件内:
---nginx控制---
#user nobody;
worker processes 1;   //工作进程运行数量,可配置成服务器内核数*2,访问量不大设为1

events {
    worker_connections 1024;       //每个进程最多处理的连接数量 
}
注:如果要提高每个进程的连接数需要执行`ulimit -n 65535`命令临时修改本地每个进程同时打开最大文件数。
    可使用ulimit -a 命令查看系统允许当前用户进程打开的文件数限制。
    永久修改:vim /etc/security/limits.conf。
    
---nginx正文核心---    
   sendfile        on;                     //支持文件发送(下载)
   #tcp_nopush     on;
   #此项允许或禁止使用socket的TCP_CORK的选项(发送数据包前先缓存数据),此选项仅在使用sendfile时候使用

   #keepalive_timeout  0;                  *//连接保持超时时间,单位:秒
   keepalive_timeout  65;

   #gzip  on;                              //压缩模块 on 表示开启
 	
 server {                                //web服务的监听配置
        listen       80;                   //默认监听端口
        server_name  localhost;            *//站点域名,需要修改。 www.lrz.com    

        #charset koi8-r;                   *//字符集支持(修改为中文)UTF-8

        #access_log  logs/host.access.log  main;  //此web服务的主访问日志*)location / {                          ///”根目录配置(浏览器中,www.baidu.com./)
            root   html;                          //网站根目录的位置/usr/local/nginx/html(相对路径)
            index  index.html index.htm;          //支持的首页文件格式   


   error_page   500 502 503 504  /50x.html;   //当发生错误的时候能够显示一个预定的错误页面
        location = /50x.html {                     //错误页面配置
            root   html;
注:目前需要了解的大概内容

9、启动服务测试

echo "192.168.65.129 www.lrz.com" >> /etc/hosts
访问域名www.lrz.com
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值