php相册源码_为了私藏点小图图,搭个开源相册

php相册源码_为了私藏点小图图,搭个开源相册

2023年7月17日发(作者:)

php相册源码_为了私藏点⼩图图,搭个开源相册背景CentOS上搭建 meiupic 图床(⼀个PHP写的开源相册),之前也搭建过 PHP 的 LNMP 环境,但是那是很长时间的事了,并且当时使⽤的是 Ubuntu Server 版本服务器。本以为很快就搭建 OK,却还是折腾了⼀晚上,真是惭愧...⼀、CentOS配置⽹络本是⼀件多简单的事,不就是在配置⽂件/etc/sysconfig/network-scripts/ifcfg-eth0⾥写⼊下⾯这⼏⾏配置嘛。DEVICE=eth0BOOTPROTO=staticONBOOT=yesipaddr=192.168.1.123netmask=255.255.255.0gateway=192.168.1.1可是还真是奇了怪了,⼀重启,IP就⾃动变了,随机分配了。明明配置的是静态IP啊。耗了我⽼长时间找原因了,最后照着书上⼀个⼀个校对,最后发现把ipaddr、netmask、gateway都改成⼤写的就⾏了。。(PS. 记得在Ubuntu上没有区分啊,难道我记错了~郁闷)⼆、Nginx1、安装教程很多,贴⼀条备⽤,没准哪天⼜忘了怎么编译安装了。以前在 Ubuntu 上都是直接 sudo apt-get install nginx ,可是在 CentOS ⾥貌似默认没有,学会编译安装 nginx 还有必要的。⽽且编译安装的版本使⽤起来有⼀些差异。Nginx安装注意点:pcre不要选择最新版pcre2,选择pcre2会报错,有能⼒解决者可以⾃⾏选择;源码全部下载在/usr/local/src/⽬录下,便于管理。2、使⽤重新启动service nginx restart?No,No,No,别被⾃动安装的软件惯坏了,nginx应该这么⽤。/usr/local/nginx/nginx 启动主程序,安装⽬录下运⾏nginx,我的版本是1.7,其他版本nginx执⾏⽂件也许不在nginx⽬录下/usr/local/nginx/nginx -s reload 重新加载/usr/local/nginx/nginx -s stop 停⽌当然不想输⼊那么长的路径也⾏,创建⼀个快捷⽅式,如果还是想使⽤service命令也⾏,在/etc/init.d⽬录下创建快捷⽅式。命令如下:cp -s /usr/local/nginx/nginx /etc/init.d/三、MySQL设置root密码安装MySQL的⽅法倒是跟之前没两样,偷懒的⽅法就这样yum install -y mysql*,OK,⼀股脑全装上了,装完设置root密码⽅法如下:⽅法1: ⽤SET PASSWORD命令mysql -u rootmysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');⽅法2:⽤mysqladminmysqladmin -u root password "newpass",如果root已经设置过密码,采⽤如下⽅法:mysqladmin -u root password oldpass "newpass"⽅法3: ⽤UPDATE直接编辑user表mysql -u rootmysql> use mysql;mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';mysql> FLUSH PRIVILEGES;在丢失root密码瞅⼀眼密码啥样...四、php + nginx配置这次花费最长的时间就是这块了,之前基本没怎么接触过PHP开发,php的开发环境更是半知不解。其实这次搭建完也是半知不解。想要nginx解析php⽂件,那么需要安装php-fpm,它是个啥?FastCGI Process Manager:FastCGI进程管理器,fpm能根据访问的压⼒动态的唤起cgi进程和销毁以到达动态的调整cgi数量,这样可以有效的使⽤内存。跟着 yum install php* 命令,全安装上了。接下来就是配置 nginx 了,使其能够解析并转发 meiupic 源相册,我将相册源代码解压到了/usr/www/ ⽬录下了,然后就是配置 nginx了,打开 nginx 配置⽂件,vim /usr/local/nginx/,找到 http 下的 server 区域,改成如下:...此处省略http { .... server{ listen 8080; server_name 192.168.1.123; location / { root /usr/www; index ; } location ~ .php$ { root /usr/www; fastcgi_pass 1listen 端⼝,我将默认的80改成了8080,server_name改成本机的IP,root改成php开源项⽬的源代码⽬录,然后最重要的那段php的配置当然不是我写的,只是将默认对PHP的配置注释给去掉了,改⼀下root就完事了。好了,迫不及待的想试⼀试了。依次检查各种服务是否正常,nginx、mysql、启动了的重启⼀下,没有启动的启动⼀下。service mysqld restart service php-fpm restart /usr/local/nginx/nginx -s reload

1. ⾸先想到的就是⽹络是否通,主机ping 192.168.1.123,OK!2. 然后测试页⾯是否从服务器返回了,很显然在主机上测试是没有返回页⾯,⽽不是返回404。那么测试⼀下在虚拟机中是否返回页⾯了,没有浏览器怎么玩?没事,curl 192.168.1.123:8080,抓取页⾯代码。返回了。好了,原因找到了,⽹络是通的,⽽页⾯⽆法访问,可是本地可以访问,这么⼀讲,就知道是防⽕墙的问题了。五、设置防⽕墙防⽕墙的配置是Linux运维的重点内容,CentOS默认只开通了22端⼝的访问配置。这⾥我们需要开启端⼝8080,亦或是关闭了它(当然不建议这么做)。教程很多,或是直接看man iptables,你会学到很多。关于防⽕墙的配置⽂件是/etc/sysconfig/iptables,学习就靠⾃⼰了。关闭的⽅法:service iptables stop。OK,设置好防⽕墙后,⼜是⼀系列重启服务操作,然后浏览器访问,这次不报错了,可是File Not Find,what's the fuck!六、fastcgi_params最后找到就是fastcgi_params配置的问题,中间寻找答案的艰⾟就不多说了,这⾥记下,给⾃⼰提个醒,同时给新⼈指路。我也是从前⼈那⾥找到的答案。nginx调⽤php-fpm出错解决⽅法和nginx配置详解问题就在上⾯nginx配置⽂件中的的这两句:fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;include fastcgi_params;

解决⽅法有两种(其实是⼀个意思):把第⼀句改成如下:fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;或者把第⼆句改成如下:include 为什么说⼀样,可以⾃⾏查看⼀下,nginx 安装⽬录下,fastcgi_param 以及 这两个⽂件的内容差异。vim -O /usr/local/nginx/fastcgi_params /usr/local/nginx/七、安装 meiupic⽬录权限问题,到/usr/www⽬录下,设置⼀下,各个⽂件⽬录的访问权限。如果嫌⿇烦,直接chmod 777 /usr/www/*,到这⾥基本就完成了。

发布者:admin,转转请注明出处:http://www.yc00.com/news/1689567103a266834.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信