Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

linux php服务器搭建 #3

Open
myadomin opened this issue Nov 15, 2014 · 0 comments
Open

linux php服务器搭建 #3

myadomin opened this issue Nov 15, 2014 · 0 comments

Comments

@myadomin
Copy link
Owner

安装xampp

1: 下载xmapp wget http://jaist.dl.sourceforge.net/project/xampp/XAMPP%20Linux/1.8.3/xampp-linux-x64-1.8.3-5-installer.run (注意先用getconf LONG_BIT 查看ubuntu时32位还是64位的 然后选择相应的linux xampp)。
2:获取root权限 sudo -i 或者 su root 输入你的root密码
3:移动xmapp的run包到opt目录下 mv /xampp-linux-x64-1.8.3-5-installer.run /opt
4:提升run包的可操作权限 chmod 755 xampp-linux-x64-1.8.3-5-installer.run
5:安装run包 ./xampp-linux-x64-1.8.3-5-installer.run
6:启动xampp /opt/lampp/xampp start
7:对于centos 除了22端口可能其他端口都防火墙了 所以去掉对默认80端口的防火墙 /sbin/iptables -I INPUT -p tcp --dport 80 -jACCEPT
8:设置密码 /opt/lampp/xampp security
xampp用户名xampp
phpmyadmin用户名pma
mysql用户名root
ftp用户名daemon默认端口21
9:此时用外网ip例如192.168.1.xx/ 是访问不了192.168.1.xx/phpmyadmin的 (可以不做)
需要修改/opt/lampp/etc/extra/httpd-xampp.conf文件,把此文件的Require local注释掉,然后重启xampp /opt/lampp/lampp restart ,这样外网就能通过192.168.1.xx/phpmyadmin访问phpmyadmin了
10: 此时外网访问phpmyadmin不能创建数据库 (可以不做)
修改/opt/lampp/phpmyadmin/config.inc.php$cfg['Servers'][$i]['auth_type']=“cookie”的cookie改成http,然后重启xampp /opt/lampp/lampp restart

apache的相关配置

  • 找到/opt/lampp/etc/httpd.conf文件
  • Listen 80 端口设置
    如果安装apache过程中没有做过特意修改 那默认是80端口(web的默认服务就是80)。也就是外部访问www.xxx.com后 浏览器其实真实访问的是 http://www.xxx.com:80 (默认域名后会都会自带上:80)。这里设置的就是监听80端口 服务器知道80端口就是给外部提供web服务假如。把上面改成 Listen 8080 那外部访问必须是 http://www.xxx.com:8080 才能访问到这个服务器的web服务 所以作为服务器一般不改动这个端口为非80。假如本地开发用,那127.0.0.1:8080对应php-apache访问,127.0.0.1:8090对应java-tomcat访问,那是可以考虑改这个为非80端口的。
  • DocumentRoot "/opt/lampp/htdocs" 配置域名映射到哪个文件夹
    通过域名解析后的ip访问就是访问服务器的/opt/lampp/htdocs。假如改为/opt/lampp/htdocs/myweb后,就是访问服务器的/opt/lampp/htdocs/myweb文件夹。
  • ServerName localhost:80
    本机用127.0.0.1:80访问时 等同于localhost:80访问 等同于localhost
  • <Directory>xxxx</Directory>
    里面设置哪些ip可以访问 一般默认设置为都可以访问
  • DirectoryIndex index.php index.html index.htm
    假如访问 /opt/lampp/htdocs/ 文件夹但是没有指定文件,通过这里的设定就会去找index.php没有就index.html没有就index.htm,如果都没找到那就会显示此文件夹下的所有文件。

多域名映射

1:打开/opt/lampp/etc/httpd.conf,去掉Include etc/extra/httpd-vhosts.conf前面的#从而开启此模块
2:打开/opt/lampp/etc/extra/httpd-vhosts.conf 做如下修改

NameVirtualHost 219.13.34.32

<VirtualHost 219.13.34.32>
#如果访问自己的外网ip 219.13.34.32  就访问htdocs文件夹
DocumentRoot /opt/lampp/htdocs
ServerName 219.13.34.32
</VirtualHost>

<VirtualHost 219.13.34.32>
#如果访问域名www.aaa.com  就访问htdocs/aaa文件夹
DocumentRoot /opt/lampp/htdocs/aaa
ServerName www.aaa.com
</VirtualHost>

<VirtualHost 219.13.34.32>
#如果访问域名bbb.cn  就访问htdocs/bbb文件夹
DocumentRoot /opt/lampp/htdocs/bbb
ServerName bbb.cn
</VirtualHost>

<VirtualHost 219.13.34.32>
#如果访问二级域名xx.bbb.cn  就访问htdocs/bbb/xx文件夹
DocumentRoot /opt/lampp/htdocs/bbb/xx
ServerName xx.bbb.cn
</VirtualHost>

web的访问流程

1:流程图示
04-00
2:详细过程
输入网址域名-->检测本机的hosts文件是否有设定这个域名的ip地址-->如果有就直接访问对应ip,如果没有就请求DNS服务器-->请求dns服务器后返回此域名对应的ip地址给客服端-->客服端请求这个ip地址到对应的服务器-->tcp ip 链路层-->把http头发送到服务器-->服务器接收到请求头-->apache根据自己的配置找到服务器对应的某个目录文件-->此文件返回给apache-->apache接收到此文件-->如果是.html文件就直接返回客户端,如果是.php就交给php引擎解析,如果涉及数据库再通过mysql等处理-->给到apche最终处理完的html-->apache将此html返回-->链路层 tcp ip 附带响应头和响应实体(html文件等)-->给到客户端浏览器显示。
如果http请求是200 客服端就不需要http请求服务器了 直接读取本地缓存。如果http请求时304 http请求服务器只需要接收响应头 响应实体不需要 因为not modify
3:本机hosts文件的作用
假如在C:\Windows\System32\drivers\etc\hosts文件上写了 196.34.35.226 abc.com。根据上面的流程就是当本机输入www.abc.com后,就会先找到本机的hosts文件,然后访问ip 196.34.35.226, 而不会去dns解析域名为ip。所以这种本机hosts的修改,只对本机访问某些指定域名才能解析成对应ip。

开发及部署

1:一般在本地windows的localhost下做开发测试 在本地phpmyadmin做数据库建立
2:开发完毕后 把开发文件上传到linux服务器下 把数据库文件放入服务器/opt/lampp/var/mysql下
3: 如果重启服务器后 需要重新打开xampp /opt/lampp/xampp start

补充

以上都是基于linux的php环境安装,如果是window下用xampp搭建php环境,安装xampp需要注意如下
1:下载xampp安装,启动mysql apache,由于php版本是5.5以上的,所以需要安装vc11才能启动apache。
2:mysql和phpmyadmin默认是没密码的,进入http://localhost:80/xampp/->安全->点击链接 http://localhost/security/xamppsecurity.php 设置密码。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant