NAP6官方旗舰店
搜索
发新帖
午饭无线 推广广告R7800 完胜 华硕路由器NETGEAR Vs ASUS T-Mobile定制版NETGEAR团购
开启左侧

newifi新玩法——搭建OpenWRT+Nginx+Mysql+PH

[复制链接]
86 1

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
 一气呵成,我就不一步一步写了:opkg update
  opkg install php5 php5-mod-gd php5-mod-session php5-mod-pdo php5-mod-pdo-mysql php5-mod-mysql php5-mod-mcrypt php5-mod-mbstring php5-fastcgi php5-cgi php5-mod-xml php5-mod-ctype php5-mod-curl php5-mod-exif php5-mod-ftp php5-mod-iconv php5-mod-json php5-mod-sockets php5-mod-sqlite3 php5-mod-tokenizer php5-mod-zip
  opkg install mysql-server
  复制代码
  
说明:
  如果opkg install * 报错,请看newifi新玩法(2)——更改软件源的解决办法
  手动安装依赖关系libc,再执行安装;
  修改MySQL配置文件vi /etc/my.cnf(由于我们安装在U盘内可能要把该文件先复制进/etc文件夹:cp /mnt/sda2/opt/app/etc/my.cnf /etc/my.cnf,
  或者制作文件链接 ln )修改内容如下:
  datadir = /mnt/sda1/data/mysql/
  tmpdir = /mnt/sda1/data/tmp/
  复制代码
  创建数据库文件夹,根据上一步创建:
  mkdir -p /mnt/sda1/data /mnt/sda1/data/mysql /mnt/sda1/data/tmp
  复制代码
  创建默认的数据库:
  /usr/bin/mysql_install_db --force
  复制代码
  启动mysql:
  /etc/init.d/mysqld start
  复制代码
  输入如下命令创建mysql的密码:
  /usr/bin/mysqladmin -u root password 123456
  复制代码
  登陆数据库:
  mysql -u root -p
  复制代码
  MySQL配置到此结束
  修改/etc/nginx/nginx.conf(这里由于我们路由器本身安装了nginx我们只需修改原来的配置文件就行)修改后内容如下:
  user root;
  worker_processes 8;
  #pid logs/nginx.pid;
  error_log /dev/null crit;
  pid /var/run/nginx.pid;
  events {
  use epoll;
  worker_connections 1024;
  multi_accept on;
  }
  http {
  include mime.types;
  #access_log logs/access.log main;
  access_log off;
  charset utf-8,gbk;
  server_names_hash_bucket_size 128;
  client_header_buffer_size 2k;
  client_body_buffer_size 64k;
  large_client_header_buffers 2 4k;
  client_max_body_size 16m;
  sendfile off;
  tcp_nopush on;
  tcp_nodelay on;
  keepalive_timeout 120;
  send_timeout 300;
  server {
  listen 80;
  server_name localhost xyun.co;
  #charset koi8-r;
  #access_log logs/host.access.log main;
  root /www;
  fastcgi_connect_timeout 300;
  fastcgi_send_timeout 300;
  fastcgi_read_timeout 300;
  fastcgi_buffer_size 4k;
  fastcgi_buffers 8 4k;
  fastcgi_busy_buffers_size 8k;
  fastcgi_temp_file_write_size 8k;
  location / {
  autoindex on;
  index index.html index.htm;
  }
  location /cgi-bin/luci {
  fastcgi_split_path_info ^(/cgi-bin/luci)(/.+)$;
  fastcgi_pass unix:/tmp/fcgi-cgi.sock;
  fastcgi_param PATH_INFO $fastcgi_path_info;
  set $script_name '/cgi-bin/luci';
  fastcgi_param SCRIPT_FILENAME $document_root$script_name;
  include fastcgi_params;
  add_header Cache-Control no-store;
  }
  error_page 500 502 503 504 /50x.html;
  location = /50x.html {
  root html;
  }
  }
  server {
  listen 99;
  server_name localhost;
  root /www/app;
  index index.html index.htm index.php default.php;
  location ~* ^.+\.php(\/.*)*$ {
  fastcgi_pass 127.0.0.1:1026;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME /www/app/$fastcgi_script_name;
  include fastcgi_params;
  }
  }
  }
  复制代码
  说明:/www/app是你网站的根目录根据自己的改,80端口是路由器管理端口,99端口是网站的端口,你也可以调换一下,自己酌情更改,
  由于涉及到端口,还要更改防火墙(vi /etc/config/firewall,这里不做阐述,因为防火墙涉及安全,请自行修改)
  至此nginx配置结束;
  修改/etc/php.ini(同样由于我们安装在U盘内可能要把该文件先复制进/etc文件夹:cp /mnt/sda2/opt/app/etc/php.ini /etc/php.ini,
  或者制作文件链接 ln )修改内容如下:
  short_open_tag = on
  #doc_root = "/mnt/www"
  extension=ctype.so
  extension=curl.so
  extension=gd.so
  extension=mbstring.so
  extension=mcrypt.so
  extension=mysql.so
  extension=pdo.so
  extension=pdo_mysql.so
  extension=session.so
  extension=sockets.so
  extension=tokenizer.so
  extension=xml.so
  [Date]
  date.timezone = Asia/Shanghai
  [MySQL]
  mysql.default_socket = /var/run/mysqld.sock
  复制代码
  至此,php也配置完成;
  之后是配置环境变量:
  vi /etc/profile,养成好习惯先备份 cp /etc/profile /etc/profile.bak
  添加如下内容:
  export PATH=$PATH:/mnt/sda2/opt/app/usr/bin
  export LD_LIBRARY_PATH=/opt/app/usr/lib:/tmp/python/libundefinedLD_LIBRARY_PATH
  复制代码
  说明:"/tmp/python/lib"这个事因为我安装了Python生产的加在Python库的环境变量;
  启动spawn-fcgi(php必须,我也不懂原理,感兴趣的可以百度一下)
  /usr/bin/spawn-fcgi -a 127.0.0.1 -p 1026 -C 2 -f /mntopt/app/usr/bin/php-cgi
  复制代码
  注意:这里的端口是1026,要跟/etc/nginx/nginx.conf中设置的端口对应
  说明:这个脚本应该开机启动的,不然每次重启都要手动执行一次,否则php不能启动,自然php网站也就无法打开,至于怎么开机启动,
  这个一直是我头疼的问题,至今没有解决,各位爷帮我想想办法,谢谢了!!!
  最后是重启nginx:
  /etc/init.d/nginx restart
  复制代码
  现在这个框架搭建完成了,不出意外的话就可以创建php网站了,先测试一下php有没有正常运行
  在网站根目录创建test.php(777权限)内容如下:
  
  复制代码
  然后浏览器打开该页,如果显示如下,说明成功启动,否则失败:
  

                               
登录/注册后可看大图

  好了这个教程又写完了,有错误请指出,未完待续。。。。
  如果遇到什么问题,哪里出错,可以跟帖,我看到会回复,可能回复的表较慢,上班的见谅啊。。。。
  还有就是再次提醒,由于本系列教程造成的损失本人概不负责,如果你尝试本系列教程对路由器进行修改,则视为同意以上免责申明。。。。、


精彩评论1

gzmdshgz  营长  发表于 2016-11-17 08:43:31 | 显示全部楼层
感谢分享。

举报 使用道具

回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表