编译安装Nginx

安装Nginx

下载nginx-1.12.2源码包,上传到/usr/local/src目录下

配置编译选项:

[root@localhost src]# cd nginx-1.12.2
[root@localhost nginx-1.12.2]# ./configure --prefix=/usr/local/nginx/

编译安装:

[root@localhost nginx-1.12.2]# make && make install

编写启动脚本:

[root@localhost nginx-1.12.2]# vi /etc/init.d/nginx 
#!/bin/bash
# chkconfig: - 30 21
# description: http service.
# Source Function Library
. /etc/init.d/functions
# Nginx Settings

NGINX_SBIN="/usr/local/nginx/sbin/nginx"
NGINX_CONF="/usr/local/nginx/conf/nginx.conf"
NGINX_PID="/usr/local/nginx/logs/nginx.pid"
RETVAL=0
prog="Nginx"

start()
{
    echo -n $"Starting $prog: "
    mkdir -p /dev/shm/nginx_temp
    daemon $NGINX_SBIN -c $NGINX_CONF
    RETVAL=$?
    echo
    return $RETVAL
}

stop()
{
    echo -n $"Stopping $prog: "
    killproc -p $NGINX_PID $NGINX_SBIN -TERM
    rm -rf /dev/shm/nginx_temp
    RETVAL=$?
    echo
    return $RETVAL
}

reload()
{
    echo -n $"Reloading $prog: "
    killproc -p $NGINX_PID $NGINX_SBIN -HUP
    RETVAL=$?
    echo
    return $RETVAL
}

restart()
{
    stop
    start
}

configtest()
{
    $NGINX_SBIN -c $NGINX_CONF -t
    return 0
}

case "$1" in
    start)
         start
         ;;
    stop)
         stop
         ;;
    reload)
         reload
         ;;
    restart)
         restart
         ;;
    configtest)
         configtest
         ;;
    *)
         echo $"Usage: $0 {start|stop|reload|restart|configtest}"
         RETVAL=1
esac

exit $RETVAL
保存退出;

更改权限:
[root@localhost nginx-1.12.2]# chmod 755 /etc/init.d/nginx
[root@localhost nginx-1.12.2]# chkconfig nginx on
[root@localhost nginx-1.12.2]# chkconfig --add nginx 
更改Nginx配置文件:

先清空之前的配置文件:
[root@localhost nginx-1.12.2]# > /usr/local/nginx/conf/nginx.conf
编写:
[root@localhost nginx-1.12.2]# vi /usr/local/nginx/conf/nginx.conf
user nobody nobody;
worker_processes 2;
error_log /usr/local/nginx/logs/nginx_error.log crit;
pid /usr/local/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;

events
{
    use epoll;
    worker_connections 6000;
}

http
{
    include mime.types;
    default_type application/octet-stream;
    server_names_hash_bucket_size 3526;
    server_names_hash_max_size 4096;
    log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'
    ' $host "$request_uri" $status'
    ' "$http_referer" "$http_user_agent"';
    sendfile on;
    tcp_nopush on;
    keepalive_timeout 30;
    client_header_timeout 3m;
    client_body_timeout 3m;
    send_timeout 3m;
    connection_pool_size 256;
    client_header_buffer_size 1k;
    large_client_header_buffers 8 4k;
    request_pool_size 4k;
    output_buffers 4 32k;
    postpone_output 1460;
    client_max_body_size 10m;
    client_body_buffer_size 256k;
    client_body_temp_path /usr/local/nginx/client_body_temp;
    proxy_temp_path /usr/local/nginx/proxy_temp;
    fastcgi_temp_path /usr/local/nginx/fastcgi_temp;
    fastcgi_intercept_errors on;
    tcp_nodelay on;
    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 8k;
    gzip_comp_level 5;
    gzip_http_version 1.1;
    gzip_types text/plain application/x-javascript text/css text/htm
    application/xml;

    server
    {
        listen 80;
        server_name localhost;
        index index.html index.htm index.php;
        root /usr/local/nginx/html;

        location ~ \.php$
        {
            include fastcgi_params;
            fastcgi_pass unix:/tmp/php-fcgi.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
        }
    }
}

保存退出;检验是否有错:

[root@localhost nginx-1.12.2]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

配置成功

启动Nginx:

[root@localhost nginx-1.12.2]# service nginx start
Starting nginx (via systemctl):  [  OK  ]

测试是否正确解析php:

[root@localhost nginx-1.12.2]# vi /usr/local/nginx/html/2.php
<?php
    echo "test php scripts.";
?>
[root@localhost nginx-1.12.2]# curl localhost/2.php
test php[root@localhost nginx-1.12.2]# 

解析成功;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
SaltStack是一个用于自动化配置管理和远程执行任务的开源工具。它使用Python编写,可以帮助管理员轻松地管理大规模的服务器基础架构。 要编译安装Nginx并使用SaltStack进行配置管理,可以按照以下步骤进行操作: 1. 在Salt Master节点上安装SaltStack:根据操作系统的不同,可以使用适当的包管理器安装SaltStack。例如,在Ubuntu上可以使用以下命令进行安装: ``` sudo apt-get update sudo apt-get install salt-master ``` 2. 在Salt Minion节点上安装SaltStack:同样,在Minion节点上也需要安装SaltStack。可以使用以下命令在Minion节点上安装: ``` sudo apt-get update sudo apt-get install salt-minion ``` 3. 配置Salt Master和Minion:在Master节点上编辑`/etc/salt/master`文件,将Minion节点的IP地址添加到`/etc/salt/minion`文件中。 4. 启动SaltStack服务:在Master节点上启动SaltStack服务: ``` sudo systemctl start salt-master ``` 5. 在Minion节点上启动SaltStack服务: ``` sudo systemctl start salt-minion ``` 6. 创建SaltStack配置文件:在Master节点上创建一个名为`nginx.sls`的配置文件,用于定义Nginx安装和配置信息。示例配置如下: ``` nginx: pkg.installed /etc/nginx/nginx.conf: file.managed: - source: salt://nginx/nginx.conf - user: root - group: root - mode: 644 service.running: - name: nginx - enable: True ``` 7. 创建Nginx配置文件:在Master节点上创建一个名为`nginx.conf`的Nginx配置文件,并将其放置在`/srv/salt/nginx/`目录下。 8. 应用配置:在Master节点上运行以下命令,将配置应用到Minion节点: ``` sudo salt '*' state.apply nginx ``` 以上步骤将使用SaltStack自动化工具来编译安装Nginx并进行配置管理。请确保在执行这些步骤之前,已经正确设置了Salt Master和Minion节点,并且可以相互通信。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值