1. 程式人生 > >Nginx啟動腳本和配置文件

Nginx啟動腳本和配置文件

nginx啟動腳本和配置文件

Nginx啟動腳本和配置文件

(1)編寫Nginx啟動腳本,並加入系統服務

[[email protected] ~]#cd

[[email protected] ~]# vim /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

保存退出後,更改文件權限:

[[email protected] ~]# chmod 755 /etc/init.d/nginx

加入到啟動列表:

[[email protected] ~]# chkconfig --add nginx

開機啟動:

[[email protected] ~]# chkconfig nginx on

啟動Nginx

[[email protected] ~]# service nginx start

停止Nginx

[[email protected] ~]# service nginx stop

再啟動Nginx

[[email protected] ~]# service nginx start

重新啟動Nginx

[[email protected] ~]# service nginx restart

技術分享

檢測文件是否正確:

[[email protected] ~]# service nginx configtest(configtest 相當於-t)

更改Nginx配置:

因為自帶的配置文件不完美,需要重新寫一個

首先把原來的配置文件清空:

[[email protected] ~]#> /usr/local/nginx/conf/nginx.conf

>”這個符號位重定向的意思,單獨用,可以吧一個文本文檔快速清空。

[[email protected] ~]# vim /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; include vhosts/*.conf; }

創建vhosts文件

[[email protected] ~]# cd /usr/local/nginx/conf/

[[email protected] conf]# mkdir vhosts

[[email protected] conf]# cd vhosts

[[email protected] vhosts]# vim default.conf

輸入如下內容、

server

{

listen 80 default_server;

server_name localhost;

index index.html index.htm index.php;

root /tmp/1233;

}

創建目錄:

[[email protected] vhosts]# mkdir /tmp/1233

這個裏面不需要寫任何東西,

技術分享

如果寫上東西之後,在文件裏面加入deny all拒絕所有訪問

[[email protected] vhosts]# /usr/local/nginx/sbin/nginx -t (查看配置文件是否正確)

nginx: [emerg] unknown directive "erver" in /usr/local/nginx/conf/vhosts/default.conf:2

nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed

如果檢測沒有問題,則:

[[email protected] vhosts]# /etc/init.d/nginx reload (重新加載)

重新載入 Nginx: [確定]

再次測試,域名隨便寫,結果都是403

[[email protected] vhosts]# curl -x127.0.0.1:80 www.wsfse.com(域名隨便寫)

<html>

<head><title>403 Forbidden</title></head>

<body bgcolor="white">

<center><h1>403 Forbidden</h1></center>

<hr><center>nginx/1.4.4</center>

</body>

</html>

作為默認的虛擬主機是403.

創建新的虛擬主機配置文件:

[[email protected] vhosts]# vim 111.conf

輸入內容:

erver

{

listen 80;

server_name 111.com;

index index.html index.htm index.php;

root /data/www;

location ~ \.php$ {

include fastcgi_params;

#fastcgi_pass unix:/tmp/php-fcgi.sock;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /data/www$fastcgi_script_name;

}

}

(以上配置文件中紅色部分為需要修改的地方)

檢查配置文件是否正確:

[[email protected] vhosts]# /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,並不是重啟:

[[email protected] vhosts]# /etc/init.d/nginx reload

重新載入 Nginx: [確定]

發現什麽都沒有:

[[email protected] vhosts]# curl -x127.0.0.1:80 111.com

[[email protected] vhosts]# curl -x127.0.0.1:80 111.com -I(大寫i)

HTTP/1.1 302 Moved Temporarily

Server: nginx/1.4.4

Date: Tue, 11 Apr 2017 16:07:14 GMT

Content-Type: text/html

Connection: keep-alive

X-Powered-By: PHP/5.4.45

location: install

Ctrl+r 搜索之前用過的命令,只需輸入關鍵字即可


本文出自 “12350027” 博客,謝絕轉載!

Nginx啟動腳本和配置文件