Centos服务器编译安装Nginx-1.24.0

这篇具有很好参考价值的文章主要介绍了Centos服务器编译安装Nginx-1.24.0。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Centos服务器编译安装Nginx-1.24.0

1、下载源码包
#官方下载地址页面:
http://nginx.org/en/download.html

http://nginx.org/download/nginx-1.24.0.tar.gz
2、安装依赖

这些依赖根据需求安装,也可以./config的时候根据报错提示一个一个安装

yum install -y --setopt=protected_multilib=false gcc gcc-c++ make cmake automake autoconf gd file bison patch mlocate flex diffutils zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel libcurl libcurl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel  kernel-devel libtool-libs readline-devel gettext-devel libcap-devel php-mcrypt libmcrypt libmcrypt-devel recode-devel 

问题:yum install libmcrypt libmcrypt-devel mcrypt mhash -y

报错:No package libmcrypt available.

解决方法:yum install epel-release //扩展包更新包

3、创建用户组
#创建nginx用户
groupadd nginx 
useradd -g nginx -s /sbin/nologin -M nginx
4、解压文件 并生成配置文件
tar zxvf nginx-1.24.0.tar.gz
cd nginx-1.24.0

./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-stream --with-stream_ssl_preread_module --with-stream_ssl_module --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --with-openssl=/usr/local/openssl
–with-stream 4层转发
–with-http_ssl_module ssl协议支持
–with-stream_ssl_preread_module
–with-stream_ssl_module
--with-http_stub_status_module
--with-http_gzip_static_module 
--with-http_realip_module
5、编译安装
make && make install
6、配置启动脚本(启动文件个人编辑)
cp /opt/nginx-1.24.0/nginx  /etc/rc.d/init.d/
chmod 744 /etc/rc.d/init.d/nginx
chkconfig nginx on
service nginx start

nginx启动脚本内容:

#!/bin/sh
# chkconfig:        2345 80 20
# Description:        Start and Stop Nginx
# Provides:        nginx
# Default-Start:    2 3 4 5
# Default-Stop:        0 1 6
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=nginx
NGINX_BIN=/usr/local/nginx/sbin/$NAME
CONFIGFILE=/usr/local/nginx/conf/$NAME.conf
PIDFILE=/usr/local/nginx/logs/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
case "$1" in
start)
echo -n "Starting $NAME... "
if netstat -tnpl | grep -q nginx;then
echo "$NAME (pid `pidof $NAME`) already running."
exit 1
fi
$NGINX_BIN -c $CONFIGFILE
if [ "$?" != 0 ] ; then
echo " failed"
exit 1
else
echo " done"
fi
;;
stop)
echo -n "Stoping $NAME... "
if ! netstat -tnpl | grep -q nginx; then
echo "$NAME is not running."
exit 1
fi
$NGINX_BIN -s stop
if [ "$?" != 0 ] ; then
echo " failed. Use force-quit"
exit 1
else
echo " done"
fi
;;
status)
if netstat -tnpl | grep -q nginx; then
PID=`pidof nginx`
echo "$NAME (pid $PID) is running..."
else
echo "$NAME is stopped"
exit 0
fi
;;
force-quit)
echo -n "Terminating $NAME... "
if ! netstat -tnpl | grep -q nginx; then
echo "$NAME is not running."
exit 1
fi
kill `pidof $NAME`
if [ "$?" != 0 ] ; then
echo " failed"
exit 1
else
echo " done"
fi
;;
restart)
$SCRIPTNAME stop
sleep 1
$SCRIPTNAME start
;;
reload)
echo -n "Reload service $NAME... "
if netstat -tnpl | grep -q nginx; then
$NGINX_BIN -s reload
echo " done"
else
echo "$NAME is not running, can't reload."
exit 1
fi
;;
configtest)
echo -n "Test $NAME configure files... "
$NGINX_BIN -t
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|force-quit|restart|reload|status|configtest}"
exit 1
;;
esac
7、配置nignx文件及项目安装目录
# 用于存放nginx日志
mkdir -p /var/log/nginx
# 用于存放nginx配置文件
mkdir /usr/local/nginx/conf/conf.d
# 日志切割,配置文件等,具体模板可以
cp /opt/nginxlog /etc/logrotate.d/
cp /opt/nginx.conf /usr/local/nginx/conf/
cp /opt/web.conf /usr/local/nginx/conf/conf.d/
cp /opt/conf.common /usr/local/nginx/conf/conf.d/

模板文件

nginxlog文件

/var/log/nginx/*log {
    daily
    rotate 10
    missingok
    notifempty
    compress
    sharedscripts
    postrotate
        /bin/kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid 2>/dev/null) 2>/dev/null || :
    endscript
}

nginx.conf

user  nginx nginx;
worker_processes  1;

error_log   /var/log/nginx/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    worker_connections  16000;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    		'$http_x_forwarded_for ' 
                    '$upstream_addr $upstream_response_time $request_time '
                     '$http_host $request '
                     '"$status" $body_bytes_sent "$http_referer" '
                     '"$http_accept_language" "$http_user_agent" ';

   access_log     /var/log/nginx/local-access.log  main;
    #connlimitzone config 
    map $http_x_forwarded_for $clientRealIp {
    ""	$remote_addr;
    	~^(?P<firstAddr>[0-9\.]+),?.*$	$firstAddr;
    }
    limit_req_zone $binary_remote_addr zone=connlimit:100m rate=30r/s; 
    #limit_req_zone $clientRealIp zone=forwarded:100m rate=30r/s;
    limit_req_status 599;
    fastcgi_intercept_errors on;
    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    
    gzip  on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_comp_level 2;
    gzip_types text/plain application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    gzip_vary off;
    gzip_disable "MSIE [1-6]\.";
    upstream phpfpm {
        server 127.0.0.1:9000;
    }	
    include "conf.d/*.conf";

}

web.conf

server {
        listen       80; 
        server_name  test.cn;  #域名
        access_log /var/log/nginx/web-access.log main;
        error_log /var/log/nginx/web-error.log warn;
        root /data/www/;   #代码根目录
	    include  conf.d/conf.common;
}

conf.common文章来源地址https://www.toymoban.com/news/detail-633404.html

index index.php index.html index.htm;
location ~ /\. {
        deny all;
}

location ~ /(protected|yii){
        deny all;
}

location ~ /themes/\w+/views{
        deny all;
}

location ~(favicon.ico){
        log_not_found off;
        expires 99d;
        break;
}   

location ~ \.(jpg|gif|png|jpeg|css|js|mp4|mp3|ogg|wmv|swf){
        if (!-e $request_filename){
                break;
        }   
}   

if (!-e $request_filename){
        rewrite /(.*) /index.php/$1 last;
}

location ~ \.php {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        include fastcgi_params;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass phpfpm;
	client_max_body_size 100m; 
        client_body_buffer_size 2048k;
        fastcgi_buffer_size 1024k; 
        fastcgi_buffers 6 256k; 
        fastcgi_busy_buffers_size 1024k;
}

到了这里,关于Centos服务器编译安装Nginx-1.24.0的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CentOS用nginx搭建文件下载服务器

      Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动。在工作中,我们经常会用到需要搭建文件服务器的情况,这里就以在linux下搭建文件服务器为例,解释编译nginx和搭建服务

    2024年02月02日
    浏览(53)
  • nginx启动后访问服务器显示centos欢迎界面

    nginx启动后访问服务器显示centos欢迎界面 步骤一:修改nginx配置文件 /etc/nginx/nginx.conf 修改前会访问/usr/share/nginx/html目录下的index.html 步骤二:重启nginx

    2024年02月13日
    浏览(68)
  • 在 【Linux Centos】下搭建 【Nginx Web】 服务器

    系统:Linux Centos 7.9 gcc 、c++、pcre、zlib、openssl等 添加内容

    2024年01月16日
    浏览(55)
  • CentOS系统中如何配置Nginx作为静态HTTP服务器

    在CentOS系统中,Nginx是一个流行的Web服务器软件,它可以高效地提供静态HTTP服务。以下是在CentOS中配置Nginx作为静态HTTP服务器的步骤: 1. 安装Nginx 首先,您需要确保已安装Nginx。可以使用以下命令安装Nginx: bash 复制代码 sudo yum install nginx 2. 配置Nginx Nginx的配置文件位于 /etc

    2024年01月23日
    浏览(50)
  • 在 Centos 7.9 下搭建 Nginx Web 服务器的步骤

    Nginx是一款高性能的Web服务器,以下是在Linux环境中安装和配置Nginx的详细步骤。 1. 安装必要的软件包 首先,安装gcc-c++、pcre、pcre-devel、zlib、zlib-devel、openssl以及openssl-devel等必要的软件包。 2. 下载Nginx源码并解压 使用wget命令下载Nginx的源码包,并解压到指定目录。 3. 配置、

    2024年01月23日
    浏览(60)
  • RedHat 服务器安装NGINX

    参照官方文档:nginx: Linux packages 按顺序操作: 安装前提:  设置yum仓库(执行命令的时候会自动新建文件): 粘贴下面的内容保存退出:  安装nginx:  查看版本: 编辑nginx配置: 启动nginx命令:

    2024年02月07日
    浏览(43)
  • 3节点ubuntu24.04服务器docker-compose方式部署高可用elk+kafka日志系统并接入nginx日志

    节点名称 IP 部署组件及版本 配置文件路径 机器CPU 机器内存 机器存储 Log-001 10.10.100.1 zookeeper:3.4.13 kafka:2.8.1 elasticsearch:7.7.0 logstash:7.7.0 kibana:7.7.0 zookeeper:/data/zookeeper kafka:/data/kafka elasticsearch:/data/es logstash:/data/logstash kibana:/data/kibana 2*1c/16cores 62g 50g 系统 800g 数据盘 Log-002 10.10.10

    2024年04月27日
    浏览(45)
  • 分布式 - 服务器Nginx:基础系列之Nginx简介 | 下载安装 | 启动和停止服务

    Nginx是一个高性能的Web服务器,同时也是一个反向代理服务器。它最初是为了解决C10K问题而开发的,即如何让一个服务器同时处理成千上万个并发连接。Nginx采用了事件驱动的异步非阻塞处理方式,能够高效地处理大量并发连接,因此被广泛应用于高并发的Web应用场景中。 此

    2024年02月10日
    浏览(68)
  • Nginx 服务器 SSL 证书安装部署

    本文档指导您如何在 Nginx 服务器中安装 SSL 证书。 说明 本文档以证书名称 xxx为例。 Nginx 版本以 nginx/1.18.0 为例。 当前服务器的操作系统为 CentOS 7,由于操作系统的版本不同,详细操作步骤略有区别。 安装 SSL 证书前,请您在 Nginx 服务器上开启 HTTPS 默认端口 443,避免证书安

    2024年02月16日
    浏览(53)
  • Nginx服务器上安装SSL证书

    服务器已经开启了443端口(HTTPS服务的默认端口) 服务器上已安装了http_ssl_module模块 进入nginx安装目录执行如下命令 若出现“–with-http_ssl_module”说明已经安装过,否则继续执行下列步骤 再执行如下命令: 这里一定不要执行make install,否则会覆盖掉原来的nginx 会多一个objs文件夹

    2024年02月13日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包