LNMP之 nginx 启动脚本和配置文件
因为 nginx 启动不方便,所以我们需要自已手动来编译一个nginx 的启动脚本# 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
-----------------------------------------------------------------------
保存后,更改权限:
# chmod 755 /etc/init.d/nginx# 更改权限
# chkconfig --add nginx #加入到服务列表
# chkconfig nginx on #开机启动
# service nginx configtest #检查配置文件有没有问题
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 配置文件
# cp /usr/local/nginx/conf/nginx.conf/usr/local/nginx/conf/nginx.conf.bak
# >/usr/local/nginx/conf/nginx.conf#清空nginx.conf 里的配置文件
# 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;
}# 注意这个括号以及这一句 include vhosts/*.conf;
--------------------------------------------------------------------
# /usr/local/nginx/sbin/nginx-t# 检查nginx 的编译
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
# cd /usr/local/nginx/conf/
# mkdir vhosts#创建 vhosts 目录
# cd vhosts/
# vim default.conf# 编辑default.conf ,写入以下内容
server
{
listen 80 default_server;
server_name localhost;
index index.html index.htm index.php;
root /tmp/1233;#黙认的虚拟主机设置为 空,访问是会是403 ,如下图
deny all;
以下不用的注释或册除
# 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;
# }
}
niginx 启动(一定要检查nginx 是否正常启动)
#mkdir /tmp/1223 #创建这个目录
# /usr/local/nginx/sbin/nginx-t#编译完检查
# /etc/init.d/nginx reload #重新加载配置文件
Reloading Nginx:
以下可以访问黙认主机的的情形反映
# curl localhost
Welcome to nginx!
Welcome to nginx!
If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.
For online documentation and support please refer to
nginx.org.
Commercial support is available at
nginx.com.
Thank you for using nginx.
楼主在编写另一个主机的时候,没有实现 502 的状态,不知何故。
以下 test.com 示例文件
server
{
listen 80;
server_name test.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;
}
}
# vim test.com
# curl -x127.0.0.1:80 test.com
403 Forbidden
403 Forbidden
nginx/1.10.2
页:
[1]