一、Nginx配置php项目目录

Nginx的配置文件默认位置为:/etc/nginx/nginx.conf

使用vim打开文件nginx.conf

vim /etc/nginx/nginx.conf

配置文件分析

# nginx运行的用户名
user nginx;
# nginx启动进程,通常设置成和cpu的数量相等,这里为自动
worker_processes auto;

# errorlog文件位置
error_log /var/log/nginx/error.log;
# pid文件地址,记录了nginx的pid,方便进程管理
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/nginx/README.dynamic.
# 用来加载其他动态模块的配置
include /usr/share/nginx/modules/*.conf;

# 工作模式和连接数上限
events {
    # 每个worker_processes的最大并发链接数
    # 并发总数:worker_processes*worker_connections
    worker_connections 1024;
}

# 与提供http服务相关的一些配置参数类似的还有mail
http {
    # 设置日志的格式
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';

    # access_log记录访问的用户、页面、浏览器、ip和其他的访问信息
    access_log  /var/log/nginx/access.log  main;

    # 这部分下面会单独解释
    # 设置nginx是否使用sendfile函数输出文件
    sendfile            on;
    # 数据包最大时发包(使用Nagle算法)
    tcp_nopush          on;
    # 立刻发送数据包(禁用Nagle算法)
    tcp_nodelay         on;
    # 链接超时时间
    keepalive_timeout   65;
    # 这个我也不清楚...
    types_hash_max_size 2048;

    # 引入文件扩展名与文件类型映射表
    include             /etc/nginx/mime.types;
    # 默认文件类型
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

    # http服务上支持若干虚拟主机。
    # 每个虚拟主机一个对应的server配置项
    # 配置项里面包含该虚拟主机相关的配置。
   server {
       # 端口
       listen       80 default_server;
       listen       [::]:80 default_server;
       # 访问的域名
       server_name  _;
       # 默认网站根目录(www目录)
       root         /usr/share/nginx/html;

       # Load configuration files for the default server block.

       include /etc/nginx/default.d/*.conf;

       # 默认请求
       location / {
       }
       # 这里新加的
       # PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI协议默认配置.
       # Fastcgi服务器和程序(PHP,Python)沟通的协议.
       location ~ \.php$ {
           # 设置监听端口
           fastcgi_pass   127.0.0.1:9000;
           # 设置nginx的默认首页文件(上面已经设置过了,可以删除)
           fastcgi_index  index.php;
           # 设置脚本文件请求的路径
           fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
           # 引入fastcgi的配置文件
          include        fastcgi_params;
        }
       # 错误页(404)
         error_page 404 /404.html;
         location = /40x.html {
      }

      # 错误页(50X)
      error_page 500 502 503 504 /50x.html;
        location = /50x.html {
      }
  }
}

nginx启动成功后,需要启动php-fpm服务

启动php-fpm服务

/usr/local/php/sbin/php-fpm || php-fpm

php-fpm 关闭:

kill -INT 'cat /usr/local/php/var/run/php-fpm.pid'

php-fpm 重启:

kill -USR2 'cat /usr/local/php/var/run/php-fpm.pid'

把php项目放到nginx配置的目录下

cd **/**/
git clone http://xxx.x.xx

给项目添加权限(按需求设置权限)

chmod -R 777 项目名

然后用自己的ip或者域名去访问

文章目录