linxu部署nginx+apache+php80环境

 0 0条评论

由于项目需求,80端口都被nginx占了,同时又想运行php项目,当然nginx通过配置也能运行php,就当学习一下apache的配置吧,用nginx做反向代理,apache运行php项目。

操作系统:虚拟机centos8.3最小安装版

安装apache和nginx

    yum  install httpd
    yum install nginx
    //安装好之后打开配置apache文件
    vim /etc/httpd/conf/httpd.conf
    Listen7780 //这里端口可以自己设置
    ServerName 0.0.0.0:7780
    <IfModule dir_module>
    DirectoryIndex index.html index.php //加上index.php
    </IfModule>

这个节点,是设置网站目录的DocumentRoot "/var/www/wordpress"

我一开始设置成了 /home/目录下了,后来不断报403错误,意思是没有权限


然后各种权限操作一通,还是403,好了,放弃修改,还是使用默认的/var/www/目录,就没有403错误了。

这里可能也会出现无法启动httpd的情况

可能原因:SELinux限制了Apache的端口设置

解决办法://安装semanage

    yum provides/usr/sbin/semanage

    yum -y install policycoreutils-python//查看默认允许的端口

    semanage port -l | grep -w http_port_t//http_port_t tcp80,81,443,488,8008,8009,8443,9000
    //使用semanage添加apache侦听的端口

    semanage port -a -t http_port_t -p tcp7780//启动apache

    systemctl start httpd

然后配置一下nginx

    server {
        listen    80;
        listen    [::]:80;
        server_name    test2.shuanghei.com;#主机名
        location / {
            proxy_pass http://127.0.0.1:7780;#刚才apache设置的端口
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }


然后在/var/www/ 下新建test.html。

浏览器打开 http://test2.shuanghei.com/test.html 页面显示成功,这里反向代理成功,nginx和apache都正常运行。

网上有很多,通过yum安装php8.0的,请自行百度吧,这里就不说了,安装好之后,新建一个index.php页面。

出现直接下载index.php的页面,这说明,apache没有执行php文件。

    ll/etc/httpd/modules/

查看加载modules,果然没有php模块,也就是说,通过yum安装的php80,是不会在apache里面添加解析模块的,后来也是找了各种办法,仍然是各种503错误,一直没办法解析php文件。

接下来只能手动安装php8了,又是折腾了好几个小时。

官网下载php-8.0.3.tar.gz。

上传到 /opt/目录

    tar -zxvf php-8.0.3.tar.gz //解压缩    cd php-8.0.3 //进入目录

然后就是在网上查各种资料,我就截取history里的一小段,最后那句总算安装成功了。


我就大致总结一下

./configure --prefix=/usr/local/php8 --with-apxs2

就是安装到 /usr/local/php8 这个目.

加上--with-asxs2 才会编译生成libphp.so,apache才能运行php,之前yum安装的都没有这个。

在执行这句话时,会提示缺少各种软件等,你到时候就根据提示在一一通过yum安装,不知道安装啥的,可以到时候百度,总之基本不可能一下子就直接执行成功的,直到可以执行./configure --prefix=/usr/local/php8 --with-apxs2为止。

之后make 然后make install 大功告成。

php -v 看到版本是8.0

最后

    ll /etc/httpd/modules/



总算有了libphp.so,终于可以运行php文件了。


本文作者:双黑

版权声明:本站文章欢迎链接分享,禁止全文转载!

游客