本篇开启PHP框架配置(以ThinkPHP5为例)
上一篇文章地址:https://www.cnblogs.com/phperpxy/p/10338427.html
配置nginx虚拟主机
cd /etc/nginx/conf.d #nginx存放虚拟主机配置文件的地方 sudo touch tp5.conf #新建一个配置文件 sudo vim tp5.conf #编辑 sudo service nginx restart #重启nginx
首先说明下我配置的共享目录是挂载到这个目录下的/home/www/;下面配置文件有些注释 不要把注释复制进去了
server{ server_name tp5.aaa.com; #指定一个访问域名 root /home/www/tp5/public; #指定Web运行目录,tp5入口文件是在public目录下面 index index.php index.html; #默认访问的文件 location / { #下面这一段是将请求转发,所有的文件都转发到index.php,因为PHP的框架基本上是单一入口 if ( -f $request_filename ){ break; } if ( !-e $request_filename ){ rewrite ^/(.*)$ /index.php/$1 last; break; } } location ~ \.php { #下面这一段是配置PATH_INFO方式访问,通过传递一个变量来给框架解析 比如通过article/id/1 这样路径得到文章id set $script $uri; set $path_info ""; if ($uri ~ "^(.+\.php)(/.+)") { set $script $1; set $path_info $2; } include fastcgi_params; fastcgi_index index.php?IF_REWRITE=1; #隐藏入口文件index.php fastcgi_pass 127.0.0.1:9000; fastcgi_param PATH_INFO $path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $script; try_files $uri =404; } }
编辑本机的hosts文件,添加一行,我是Win7系统这个文件的位置C:\Windows\System32\drivers\etc
192.168.33.10 tp5.aaa.com
直接访问会出现502错误
#支持nginx fastcgisudo apt-get install php5-cgi php5-fpm#监听方式修改成9000端口默认sock模式cd /etc/php5/fpm/pool.d/vim www.conf
#找到下面这行将注释掉;代表注释,在添加一行后保存退出 ;listen = /var/run/php5-fpm.sock listen = 127.0.0.1:9000
#上面的东西具体含义是修改php-fpm监听方式,之前的方式不稳定#科普下nginx没有处理php文件的能力,它会把php的文件转发到php-fpm处理,处理完在返回给nginx
sudo service php5-fpm restart #重启php-fpm
再次访问OK
配置Apache虚拟主机
cd /etc/apache2/sites-enabled/ #apache配置文件目录 sudo touch tp5.conf #新建一个配置文件 sudo vim apache2.conf #修改apache配置文件 sudo service apache2 restart #重启
配置如下
<VirtualHost *:8888> #监听端口 ServerName tp5.aaa.com #访问域名 DocumentRoot /home/www/tp5/public #web运行目录 ErrorLog ${APACHE_LOG_DIR}/error.log #错误日志文件位置 CustomLog ${APACHE_LOG_DIR}/access.log combined #访问日志 </VirtualHost>
Apache默认也是无法处理php文件,它需要一个模块支持
#安装支持apache2的php模块 sudo apt-get install libapache2-mod-php5 #开启rewrite功能--隐藏入口文件--apache隐藏路口文件是通过重写。htaccess文件,具体看tp5手册 搜索URL重写 sudo a2enmod rewrite
这时候访问会出现403错误,403一般是拒绝访问
#编辑配置文件cd /etc/apache2 vim apache2.conf#找到下面这行东西 <Directory /> Options FollowSymLinks AllowOverride None #修改成AllowOverride ALL #Require all denied #把这行屏蔽掉,拒绝一切链接 </Directory>#保存重启apache
这时候访问http://tp5.aaa.com:8888 OK 大功告成!
原文地址:https://www.cnblogs.com/phperpxy/p/10338940.html
时间: 2024-10-09 10:20:46