很多站长朋友们都不太清楚ngnixphp部署,今天小编就来给大家整理ngnixphp部署,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php项目如何部署在服务器上 2、 Thinkphp5项目在nginx服务器部署 3、 windows下 用nginx部署php项目 4、 如何正确配置 Nginx + PHP 5、 php怎么把程序部署到nginx服务器 6、 Nginx 与 PHP 合并部署与分开部署 哪种性能更好一些 php项目如何部署在服务器上一、阿里ECS服务器配置
? ? ?1.因为线上已经有几个站点了.所以要配置ngnix多站点
? ? ?2.阿里云ecs目录结构,ngxin 在/etc/nginx/目录下,配置的地方主要是nginx.config文件。或者在conf.d新建一个配置文件然后在include到nginx.config文件中
? ? ? ??
? ? ?3.nginx.config新建站点信息
server {
listen ? ? ? 80;
server_name ?HdhCmsTest你的域名测试数据;
root ? ? ? ? 站点的相对路径;
index index.php index.html index.htm;
#charset koi8-r;
#access_log ?/var/log/nginx/host.access.log ?main;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
#try_files $uri $uri/ /index.php;
root ? /opt/www/pcweb/ytyy_pc;
index ?index.php index.html index.htm; ? ? ? ? ? ??if (!-e $request_filename) { ? rewrite ?^(.*)$ /index.php?s=$1 ?last; ? break; ? ?}} ? ? ? ? ? ? url重写(可以没有)
# redirect server error pages to the static page /40x.html
#
error_page ?404 ? ? ? ? ? ? ?/404.html; ? 40错误页面配置
location = /40x.html {
}
# redirect server error pages to the static page /50x.html
#
error_page ? 500 502 503 504 ?/50x.html; ?50错误页面配置
location = /50x.html {
}
location ~ \.php$ {
root ? ? ? ? ? 站点相对路径;
fastcgi_pass ? 127.0.0.1:9000;
fastcgi_index ?index.php;
fastcgi_param ?SCRIPT_FILENAME ?$document_root$fastcgi_script_name;
include ? ? ? ?fastcgi_params;
}
location ~ /\.ht {
deny ?all;
}
}
配置文件的基本内容如上;
配置完成后测试配置文件是否正确
这样配置就可以使用了
然后重启nginx服务器?
这样nginx配置就结束了可以使用了。吧站点文件放到对应的目录下面。我直接git clone过去的。
二.thinkphp项目文件转移
本来以为上传完就结束了。上传上去碰到的第一个问题就是访问页面报错,页面被电信的114页面劫持了。。。麻蛋 看不到报错
万能百度大法
解决方法1.internet高级选项->隐私->站点??新加阻止站点
解决方法2:控制面板->网络和internet->本地连接->属性->ipv4 ?使用如下ip
终于搞定可以看到报错页面了。。。。。。麻蛋。再次开启万能百度大法
?
?
?得到最终结论是文件目录权限引起的。thinkphp 的runtime目录没有写入权限。。thinkphp文件上传到阿里的好像都有这个问题。解决问题很简单
进入到项目文件目录
直接跟文件最高权限
chmod -R 777 [目录] ?//linux修改文件权限
?
Thinkphp5项目在nginx服务器部署1,切换到nginx的配置目录,找到nginx.conf文件
????cd ? /usr/local/nginx/conf
? ? vim ?nginx.conf
2,如果是单项目部署的话,只需要在nginx.conf文件里面加上以下
server{
????????listen 80;
????????# 域名,本地测试可以使用127.0.0.1或localhost
????????server_name ;
????????# php项目根目录
????????root /home/data-www/blog;
????????location /{
????????????????# 定义首页索引文件的名称
????????????????index index.php index.html index.htm;
? ??????????????# 影藏入口文件
? ??????????????if (-f $request_filename/index.html){
????????????????????????????rewrite (.*) $1/index.html break;
????????????????}
????????????????if (-f $request_filename/index.php){
????????????????????????????rewrite (.*) $1/index.php;
????????????????}
????????????????if (!-f $request_filename){
????????????????????????????rewrite (.*) /index.php;
????????????????}
????????????????try_files $uri $uri/ /index.php?$query_string;
????????}
????????# PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI协议默认配置.
????????# Fastcgi服务器和程序(PHP)沟通的协议
????????.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;
? ??????????????fastcgi_split_path_info ^(.+?\.php)(/.*)$;
????????????????set $path_info $fastcgi_path_info;
????????????????fastcgi_param PATH_INFO $path_info;
????????????????try_files $fastcgi_script_name =404;
????????}
}
3,如果多项目部署,就需要配置vhost
第一步:编辑nginx.conf文件,在最后加上 ? ??include ? ?vhost/*.conf;
第二步:进入vhost文件夹,创建 ? ?域名.conf ? ?文件,如创建一个:quanma.meyat测试数据.conf
第三步:编辑quanma.meyat测试数据.conf文件,内容如下:
????????server
????????{
????????????????listen 80;
????????????????server_name quanma.meyat测试数据;
? ? ? ? ? ? ? ? index index.html index.htm index.php default.html default.htm default.php;
????????????????root /data/wwwroot/default/quanma/public/;
????????????????#error_page 404 /404.html;
????????????????location / {
????????????????????????index index.html index.php;
????????????????????????if (-f $request_filename/index.html){
????????????????????????????????rewrite (.*) $1/index.html break;
????????????????????????}
????????????????????????if (-f $request_filename/index.php){
????????????????????????????????rewrite (.*) $1/index.php;
????????????????????????}
????????????????????????if (!-f $request_filename){
????????????????????????????????rewrite (.*) /index.php;
????????????????????????}
????????????????????????try_files $uri $uri/ /index.php?$query_string;
????????????????}
????????????????location ~ [^/]\.php(/|$)
????????????????{
????????????????????????# comment try_files $uri =404; to enable pathinfo
????????????????????????#try_files $uri =404;
????????????????????????fastcgi_pass 127.0.0.1:9000;
????????????????????????fastcgi_index index.php;
????????????????????????include fastcgi_params;
????????????????????????fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
????????????????????????fastcgi_split_path_info ^(.+?\.php)(/.*)$;
????????????????????????set $path_info $fastcgi_path_info;
????????????????????????fastcgi_param PATH_INFO $path_info;
????????????????????????try_files $fastcgi_script_name =404;
????????????????????????#include fastcgi.conf;
????????????????????????#include pathinfo.conf;
????????????}
????????????location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
????????????{
????????????????????expires 30d;
????????????}
????????????location ~ .*\.(js|css)?$
????????????{
????????????????????expires 12h;
????????????}
????????????# Disallow access to .ht, .svn, .bzr, .git, .hg, .cvs directories
????????????location ~ /\.(ht|svn|bzr|git|hg|cvs) {
????????????????????deny all;
????????????}
????????????#access_log /date/nginx/bmp测试数据.conf/access.log main;
}
windows下 用nginx部署php项目其中/IM是用来kill掉指定名字的进程的,-F是用来强制kill的,详细的参数介绍可以在dos中通过TASKKILL /?查看
然后通过启动指令,重启即可
如何正确配置 Nginx + PHP1. php用php-fpm启动,然后nginx
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
这样就可以了
2.安装一个集成的软件phpstudy
php怎么把程序部署到nginx服务器不建议把php装到tomcat当中,tomcat是java的web服务器,php建议apache或者nginx,移花接木的这种形式不但不会让程序发挥出应有的性能,还会导致很多你意想不到的BUG
Nginx 与 PHP 合并部署与分开部署 哪种性能更好一些当然是分开部署了,很简单的理解,同样的一项业务,分散到不同的营业部的话,处理业务的速度会相应加快,如果把人员集中到一个营业部,你会发现,光排队处理一项就把你搞死。
关于ngnixphp部署的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于ngnixphp部署 如何使用nginx部署web项目的详细内容...