Linux -nginx-源码安装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux -nginx-源码安装相关的知识,希望对你有一定的参考价值。

1.wget http://nginx.org/download/nginx-1.14.0.tar.gz
2.tar zxvf nginx-1.14.0.tar.gz
查看源码文件:/nginx/src
技术分享图片
cd /nginx
编译安装: ./configure --prefix=/usr/local/nginx #/usr/local/nginx 指定安装 目录
实例如下:
技术分享图片
安装成功如下:
技术分享图片
make #编译
成功后,截图如下:
技术分享图片
已安装完成,安装文件路径为:
技术分享图片
conf下为配置 文件。
html下为默认页。 html下的index为欢迎页。
logs下为日志文件。
sbin下为可执行文件。
查看版本:
技术分享图片

启动:
/usr/local/nginx/sbin/nginx (或者,进入到sbin下,./nginx)
技术分享图片
杀死进程,停止nginx的服务。
pkill nginx (或者killall nginx ,若没有安装killall,则yum安装psmisc)
技术分享图片

/usr/local/nginx/sbin/nginx -t #检查配置文件语法错误。
若出现ok,或者successful,则没有错误。
/usr/local/nginx/sbin/nginx -s reload #重载配置。

设置nginx开机启动:
chkconfig --add nginx
chkconfig nginx on 设置为开机启动。

源码安装的卸载:只需要删除/usr/local/nginx文件,(./configure --prefix=/usr/local/nginx)这里目录是什么,则删除什么。

nginx 启动脚本
vim /etc/init.d/nginx //复制如下内容(参考https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D15Z/etc_init.d_nginx )
完成之后,chmod 755 /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

配置文件
cd /usr/local/nginx/conf/; mv nginx.conf nginx.conf.bak

vim nginx.conf //写入如下内容(参考https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D15Z/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; #nginx 最多可以打开多少个文件

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 #每个server对应一个虚拟主机
{
listen 80; #监听80端口
server_name localhost; # server_name就是域名
index index.html index.htm index.php;
root /usr/local/nginx/html; #网站根目录所在路径

    location ~ .php$                #解析php
    {
        include fastcgi_params;
        fastcgi_pass unix:/tmp/php-fcgi.sock;            #指定php服务的监听端口,或者sock文件,或者可以写成127.0.0.1:9000
        #fastcgi_pass  127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
    }    
}

}

/usr/local/nginx/sbin/nginx -t #检查是否存在语法错误
/etc/init.d/nginx start #启动服务
ps aux | grep nginx
netstat -lntp |grep 80
curl localhost

以上是关于Linux -nginx-源码安装的主要内容,如果未能解决你的问题,请参考以下文章

嵌入式linux怎么学

Linux一步一步学Linux——Linux发展史(01)

linux查看进程id命令(linux查看进程id)

鸟哥linux摘要-Linux复习必备(Linux命令)

linux如何查看ip地址命令(linux如何查看ip地址)

Linux如何移动文件夹(Linux如何移动文件)