准备一个连接linux服务器的可视化工具,开始发车
推荐使用国产:
finalshell
下载地址:FinalShell SSH工具,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux,版本3.9.7,更新时间2022.10.26 - SSH工具 SSH客户端
xshell:安装地址和破解教程
xshell破解版 - 袁子弹 - 博客园
连接linux服务器
连接成功
安装LNMP(L:linux,N:nginx,M:mysql,P:php)
由于使用php开发,所以需要下载lnmp,官方文档有很详细的下载介绍
LNMP一键安装地址:安装 - LNMP一键安装包
安装成功后,lnmp的相关服务器在此目录下
一切准备就绪后开始部署项目,这里使用fastadmin框架进行项目部署
下载fastadmin
fastadmin下载地址:FastAdmin源码下载,FastAdmin下载,FastAdmin补丁下载,FastAdmin更新日志 – 基于ThinkPHP和Bootstrap的极速后台开发框架
因为在本地开发时我们使用apache服务器,在进行项目部署时需要在apache中配置虚拟主机,在linux中需要在nginx中配置虚拟主机
通过vim nginx.conf进入nginx配置文件
其中在处理中有三个重要的命令
1、mv default/ website:如果不想删除可以使用这条命令更改文件夹名称
2、rm -rf default:删除当前目录,不能使用rm,rm的删除条件是目录为空
3、mkdir website:创建一个新的文件夹(目录)
开始部署
上传项目到服务器
将之前下载好的fastadmin上传到website目录下 (也可使用上传命令 rz)
上传到该目录下后,可使用ll查看目录结构,可以看到fastadmin的压缩包,需要使用unzip 压缩包名称进行解压
配置nginx
然后我们需要在nginx.conf中配置一台虚拟主机
进行如下配置,将下面的配置复制即可
server
{
listen 80 default_server reuseport;
#listen [::]:80 default_server ipv6only=on;
server_name _;
index index.html index.htm index.php;
root /home/wwwroot/website/public;
location / {
index index.html index.htm index.php;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
}
location ~ \.php(.*)$ {
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param PHP_VALUE "open_basedir=$document_root/../:/tmp/:/proc/";
include fastcgi_params;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /.well-known {
allow all;
}
access_log /home/wwwlogs/access.log;
}
重新加载nginx
以上操作进行完成后,需要在finalshell中重新加载nginx否则修改的配置文件会没有生效
可输入lnmp进行查看命令
根据上述查询到的命令输入 lnmp nginx reload
打开浏览器输入你的linux服务地址比如127.0.0.1,浏览器会显示出404,并且拒绝访问
更改用户组权限
还需要将website的用户组进行修改
更改权限的目录是:cd /home/wwwroot/
更改权限命令:chown -R www:www website
修改完权限之后,再次进行访问,当前页面会出现拒绝访问
配置php.ini
因为是第一次进行部署,所以当前php配置文件中没有更改,所以需要将php.ini配置文件中的cgi.fix_pathinfo=0更改为cgi.fix_pathinfo=1
PHP里经常要获取当前请求的URL路径信息。一般可以通过环境变量$_SERVER[‘PATH_INFO’]
获取,而配置文件中的cgi.fix_pathinifo
选项则与这个值的获取相关。而$_SERVER[‘PATH_INFO’]
中的key PATH_INFO是一个CGI 1.1的标准,经常用来做为传递参数给后端的CGI服务器。
vim php.ini 文件后输入:/cgi.fix进行搜索
配置完成后需要重启lnmp,可以输入lnmp进行查询
大功告成
正常情况下会出现fastadmin安装界面
遇到问题以及解决办法
说说我在部署的过程中遇到的问题
第一:aaa.conf中的重写规则代码,一定要使用此文之前提供的,否则手打的话,会出现更改完用户组,修改万php.ini信息之后不管你怎么重启都一直是这个页面
第二:如果你选择将/home/wwwroot/default中的default目录改名的话,其中会出现.user.ini文件,需要使用ll -a命令才能查看到此文件,其中也会影响你的文件访问路径,需要使用强制命令才能进行删除
参考:
因为.user.ini是受保护文件,需要使用命令去除保护
chattr -i .user.ini
输入命令进行删除
rm -rf .user.ini
第三:在lnmp的安装过程中,会遇到mysql设置密码,在设置密码的过程中会出现输入错误想要删除却出现以下错误,导致后续连接mysql失败无法连接,出现以下情况,需要对密码进行修改
推荐修改博客:lnmp重置mysql数据库root密码的两种方法_萧逸的博客-CSDN博客
重点:
如果在项目部署根据以上操作没能解决你的错误问题,那么就需要你打开nginx_error.log报错日志,浏览器进行重新加载查看日志文件中的信息,根据信息去定位错误原因