使用unbantu 并搭建nginx +php7.1+mysql 环境

发布于 2019-10-15  44 次阅读


搬家到新服务器,系统为unbantu(是一个以桌面应用为主的开源GNU/Linux操作系统),因此需要重新配置php环境

一.可先搜索如何搭建该环境,方法不是唯,有需要自行百度

一些参考地址:
http://www.cnblogs.com/sanmu083/p/5922689.html (安装php,nginx)
http://www.racksam.com/2014/04/04/setting-nginx-php-fpm-mysql/ (参考整个流程
https://www.cnblogs.com/javadongx/p/unbantu-mysql.html (安装mysql)

二.实践的过程

初始工作

    #更新apt-get源
    apt-get update
    #更新现有软件
    apt-get upgrade
    #修正字符集
    ##在文件末尾添加一行:export LC_ALL=en_US.utf8##
    vi /root/.profile
    ##重新载入配置文件
    source /root/.profile

安装PHP

    #安装add-apt-repository命令依赖
    apt-get install software-properties-common
    #添加php源
    add-apt-repository ppa:ondrej/php

    ##debian(ubuntu忽略此处)
    ##apt-get install apt-transport-https lsb-release ca-certificates
    ##wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
    ##echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
    ##若仍存在问题可安装7.0,vi /etc/apt/sources.list
    ##deb http://packages.dotdeb.org jessie all
    ##deb-src http://packages.dotdeb.org jessie all
    ##保存好后
    ##wget https://www.dotdeb.org/dotdeb.gpg
    ##apt-key add dotdeb.gpg
    ##apt-get update
    ##apt-get install php7.0-fpm
    ##其它的也是把7.1改为7.0即可

    #更新apt数据,载入php源数据
    apt-get update
    #安装php-fpm
    apt-get install php7.1-fpm
    #安装pear
    ##安装pear依赖
    apt-get install php7.1-xml
    ##安装pear
    apt-get install php-pear

安装Nginx

    cd /root
    #下载key
    wget http://nginx.org/keys/nginx_signing.key
    #添加key
    apt-key add nginx_signing.key
    #添加源,vi打开sources列表
    vi /etc/apt/sources.list
    #在文件末位添加如下两行:
    deb http://nginx.org/packages/ubuntu/ trusty nginx
    deb-src http://nginx.org/packages/ubuntu/ trusty nginx

    ##debian(ubuntu忽略此处)
    ##deb http://nginx.org/packages/debian/ codename nginx
    ##deb-src http://nginx.org/packages/debian/ codename nginx

    #更新apt数据,载入nginx源数据
    apt-get update
    #安装nginx(安装的版本号至少为1.10+,注意检查)
    apt-get install nginx
    #修改nginx配置文件
    ##修改/etc/nginx/conf.d/default.conf
    vi /etc/nginx/conf.d/default.conf
    ###修改"location /"位置
    root   /www;
    index  index.html index.htm index.php;
    ###取消"location ~ \.php"的注释,如下三行对应修改
    root           /www;
    fastcgi_pass   unix:/run/php/php7.1-fpm.sock;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    ##修改/etc/nginx/nginx.conf
    vi /etc/nginx/nginx.conf
    ###修改用户
    user  www-data;
    ##重启加载配置
    service nginx restart

安装Mysql

    1,方法一
    apt-get install mysql-server
    apt-get install mysql-client
    apt-get install  libmysqlclient-dev(暂不知用途)

    2,方法二(推荐此方法)
    apt-get install mysql-server mysql-client

三.遇到的问题

问题1:


然后:问了大神,大神查看了配置文件,这两处不一样,改为实际项目文件地址,并设置为相同,OK

关于配置文件大神给了个通用的:

    server {
            listen   80;
            server_name  haha.com; //虚拟主机域名

            root /usr/share/nginx/haha/public;  #文件绝对路径
            index index.php index.html index.htm;  #可以的文件

            location / {
                    try_files $uri $uri/ /index.php;
            }

            location ~ \.php$ {
                fastcgi_pass   unix:/run/php/php7.1-fpm.sock;  #php绝对路径
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                fastcgi_index  index.php;
                include        fastcgi_params;
            }

            #以下为设置https
            listen 443 ssl;
            ssl_certificate   /etc/cert_api/1111111.pem;#1111111文件位置自行放置
            ssl_certificate_key  /etc/cert_api/1111111.key;
    }

问题2 —— 访问网站为一片空白:

日志报错为

2018/05/21 10:19:27 [error] 9670#9670: *57 FastCGI sent in stderr: "PHP message: PHP Warning:  require(/usr/share/nginx/api_lulutx_com/vendor/composer/ClassLoader.php): failed to open stream: No such file or directory in /usr/share/nginx/api_lulutx_com/vendor/composer/autoload_real.php on line 12
PHP message: PHP Fatal error:  require(): Failed opening required '
<!--是的-->
/nginx/blog_lulutx_com/vendor/composer/ClassLoader.php' (include_path='.:/usr/share/php') in /usr/share/nginx/api_lulutx_com/vendor/composer/autoload_real.php on line 12" while reading upstream, client: 220.112.16.161, server: api.lulutx.com, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.1-fpm.sock:", host: "blog.lulutx.com"

#网上有资料说 是 cgi.fix_pathinfo =1 去掉注释并 将1改为0 然而并没什么用

原来是需要composer update一下。。。。。。。。

一沙一世界,一花一天堂。君掌盛无边,刹那成永恒。