前几天忽然心血来潮,想做一个论坛。其实主要的原因也是现在的服务器只跑了一个博客,有点浪费。找了很多 java 的论坛系统,都感觉不太满意,最后找到了 discuz 论坛,下载完一看,竟然是 php 的。在服务器上装完 php 环境后,由于不懂 php,便开始研究怎么部署项目。
之前有一篇博客 nginx+tomcat+ 反向代理 +https+301 重定向 提到过,我的服务器是 nginx + tomcat 的,Java 项目放在 tomcat 里,tomcat 启动,然后 nginx 反向代理 tomcat 端口,从而可以访问到 Java 项目。那 php 怎么办呢,nginx 只做转发,谁来启动 php 项目呢?百度了一番,发现 php 有个解释器叫 php-cgi,通过它可以解析 nginx 转发过来的请求。于是通过命令 php-cgi.exe -b 127.0.0.1:9000 启动 php-cgi,就可以访问到 php 项目了。
nginx 中相关配置如下,有些参数设置可能不是很合理,可自行修改:
server {
server_name bbs.82java.com;
index index.php;
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_read_timeout 300;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_buffers 8 256k;
fastcgi_buffer_size 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
include fastcgi_params;
}
其中 root 属性对应的是 php 项目根目录。
不过这样直接启动 php-cgi 的方法虽然能正常访问,但是有很大的缺陷,就是在处理一定数量的请求之后,php-cgi 进程会自行关闭,导致无法继续访问,这个问题会在下一篇博客中解决。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于