nginx+php
记录一下在ubuntu中nginx+php部署tp项目
nginx
nginx就是正常下载
下载nginx
sudo apt-get install nginx
tp项目版本是3.2,通过设置路由,以域名/api.php/控制器/xxx的格式进行api的调用,文件后缀为.class.php
需要在conf中进行一些处理,如下
配置nginx.conf
nginx
server {
listen 80 ;
listen 443 ssl;# 有ssl证书的话
server_name www.xxx.com; # 你的域名
# SSL证书配置
ssl_certificate /home/ssl/nginx/xxx.pem;#你的pem文件,在各大平台的ssl上下载
ssl_certificate_key /home/ssl/nginx/xxx.key;#你的key文件,在各大平台的ssl上下载
root /var/www/xxx;#你的项目根目录
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /api.php/$uri;
}
location ~ ^/api\.php(.*)$ {
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据你的PHP版本调整
fastcgi_index api.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
php
使用的是php7.4
//安装php本体
sudo apt-get install php7.4
安装项目所需要用到的扩展,比如我需要的是mysql相关的扩展
sudo apt-get install php7.4-mysqli php7.4-pdo-mysql
安装后可以通过php -m|grep mysql
指令查看相关的扩展是否已启用
如果没有的话可以通过下面的指令启用
sudo a2enmod mysqld
以及在php.ini中注释掉相关扩展前的;
通过以上配置之后,然后执行systemctl restart nginx
重启nginx即可
其他
切换php版本
sudo update-alternatives --config php