这里就不讲解如何安装Nginx服务了,我这里使用的是lnmp一键安装包。直接网上百度一个即可使用。今天主要讲解一个如何使用基本控制语句与虚拟配置。
首先讲解的是Nginx控制语句。
nginx -t 查看配置是否正确
nginx -s reload 重新加载最新配置(不重启服务)
nginx -s stop 立即停止服务
nginx -s quit 优雅的停止
nginx -s reopen 重新打开日志
nginx -s reload //只会去重新加载配置文件,而不去重启服务的原理在于。我们每一个请求便是一个进程,当下一个进程启动时加载的便是重新的配置文件,之前的访问进程还没结束,此时加载的便是之前的配置文件。
nginx -s quit // 何为优雅,主要在于。当我们请求的时候,会响应完请求才会结束服务。不会像nginx -s stop 直接就终止了进程,而不会再去判断一下是否还有请求存在。
nginx -s reload //这里举一个例子,我们网站一般会监控日志文件,我们会定时对日志文件做一个备份,当备份之后,重写创建一个日志文件,此时日志文件任然会写入备份中的文件。例如,日志文件是access.log,我们对他进行备份,将文件名称改为access.log.bak,然后在创建一个access.log文件,此时按道理写入的日志内容应该是access.log,但是此时日志文件任然会写在access.log.bak中,我们采用该方式重启之后,便会写入到新创建的acce.log文件中。
下面便是如何配置虚拟主机。
orker_processes 1; #工作进程数,根据CPU决定
events {
worker_connections 1024; #链接数
}
http {
server{
listen 80 default_server;#ipv4
#listen [::]:80 default_server ipv6only=on;#ipv6
server_name xxxx; #网站url
access_log xxx;#访问日志文件保存路径
error_log xxx;#错误日志文件保存路径
#访问日志文件格式
log_format main 'remote_addr - remote_user [time_local] "
'status body_bytes_sent "
'"
'upstream_addr upstream_response_time
#参数说明
#1.remote_addr 与http_x_forwarded_for 用以记录客户端的ip地址;
#2.$remote_user :用来记录客户端用户名称;
#3.$time_local : 用来记录访问时间与时区;
# 4.$request : 用来记录请求的url与http协议;
# 5.$status : 用来记录请求状态;成功是200,
# 6.$body_bytes_s ent :记录发送给客户端文件主体内容大小;
# 7.$http_referer :用来记录从那个页面链接访问过来的;
# 8.$http_user_agent :记录客户端浏览器的相关信息;
location / {
root xxxx; #项目路径
index index.html index.php;#索引文件
}
#配置报错
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
#对PHP的解析
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME document_rootfastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED document_rootfastcgi_path_info;
include fastcgi_params;
}
}
}