美文网首页
yum 安装nginx mysql php一套代码

yum 安装nginx mysql php一套代码

作者: IT行者q | 来源:发表于2019-06-22 16:27 被阅读0次

    注:为了方便说明,下面部署的这台服务器的ip为127.0.0.1,实验时请使用自己真实的ip

    一 【nginx 安装】

    参考官方文档 : http://nginx.org/en/linux_packages.html#stable

    具体步骤
    1.新建文件:vim /etc/yum.repos.d/nginx.repo
    2.编辑并保持如下内容:

    [nginx]
    name=nginx repo
    baseurl=http://nginx.org/packages/centos/7/$basearch/
    gpgcheck=0
    enabled=1
    

    可以使用 vim /etc/yum.repos.d/nginx.repo 来编辑,也可以是用其他文本编辑工具

    3.使用yum安装

    yum remove nginx  
    yum install nginx
    

    yum remove nginx , 是为了有旧的nginx,先卸载

    二 【php7,php-fpm 安装】
    具体步骤:
    1.安装epel-release源

    rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    

    2.安装PHP7的rpm源

    rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
    

    webtatic-release.rpm 依赖于 epel-release-latest-7.noarch.rpm

    3.安装php7

    yum remove php*
    yum install php70w
    
    

    yum remove php* 是为了卸载旧版本的php相关软件,不然如果版本不兼容可能会报下面错误:

    image

    4.安装php相关扩展

    yum install php70w-fpm php70w-mysql php70w-xml php70w-mbstring php70w-openssl php70w-gd
    
    yum install php-redis  #redis模块,根据需要选装
    

    php70w-fpm : FastCGI进程管理器
    因为php是以FastCGI方式运行的,当用户访问.html等静态页面的时候,nginx直接返回静态页面。当访问.php文件时,nginx会把处理权交给php-fpm,当对.php文件解释执行完成后,把执行结果返回给nginx,再由nginx返回给用户。
    php70w-mysql:php操作mysql数据库扩展
    php扩展很多,一般根据名称就能知道具体用处,就不多解释了。

    centos8中不能用dnf和yum安装redis扩展的解决办法

    $ wget https://github.com/phpredis/phpredis/archive/4.0.2.tar.gz
    $ tar -zxvf phpredis-4.0.2.tar.gz
    $ cd phpredis-4.0.2
    $ /usr/local/php/bin/phpize              # php安装后的路径,如果没有请用(yum install php-devel命令)
    $ ./configure --with-php-config=/usr/local/php/bin/php-config
    $ make && make install
    
    echo 'extension=redis.so' >> /usr/local/php/etc/php.ini
    
    systemctl reload php-fpm
    大功告成
    

    三 【安装mysql】

    yum -y install mariadb-server mariadb mariadb-devel
    

    MariaDB是MySQL的一个开源分支,基本可以和MySQL通用。
    mariadb-server : 服务器端
    mariadb : 命令行客户端
    mariadb-devel : 开发库

    四 【启动相关服务】

    1.启动nginx服务

    systemctl start nginx.service              
    
    

    2.启动php-fpm服务

    $ sudo systemctl start php-fpm# 启动php-fpm
    $ sudo systemctl stop php-fpm# 停止php-fpm
    $ sudo systemctl reload php-fpm# 重载php-fpm
    $ sudo systemctl restart php-fpm# 重启php-fpm
    

    systemctl start php-fpm.service

    
    3.启动mysql服务
    
    

    systemctl start mariadb.service

    
    > 使用 netstat -tnl 命令查看,如果80,9000,3306端口都已经被监听,说明nginx,php-fpm,mysql服务都已经启动成功,如图:
    > 
    > ![image](https://img.haomeiwen.com/i7551212/6782baa2f5d414f7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/613/format/webp)
    > 
    > 在服务器防火墙能通过的情况下,在浏览器里地址栏里输入: http://106.15.72.29/,如果出现下图界面,表示nginx已经工作正常,恭喜您,网站可以访问静态页面了。
    > 
    > ![image](https://img.haomeiwen.com/i7551212/c43fccc94e7516e3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/790/format/webp)
    > 
    > 如果要访问php动态页面 ,请继续往下看。
    #### 五 【nginx配置】
    
    1.打开 /etc/nginx/conf.d/default.conf ,在最上面添加如下代码并保存:
    
    
    server {
            listen       80;
            server_name  www.test.com;
            client_max_body_size 64M;
            error_page   500 502 503 504  /50x.html;
            root   /opt/web/imapp;
            try_files $uri $uri/ @rewrite;
            location @rewrite {
                rewrite ^/(.*)$ /index.php?_url=/$1;
            }
    
            location ~ \.php {
                    fastcgi_pass   127.0.0.1:9000;
                    fastcgi_index  index.php; 
                    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                    include        fastcgi_params;
    
                    fastcgi_split_path_info ^(.+\.php)(.*)$;
                    fastcgi_param PATH_INFO $fastcgi_path_info;
            }
    
    }
    
    

    1.server_name www.test.com; 这里的www.test.com可以根据自己的域名解析修改,当域名解析后,可以根据不同的域名访问不同的server站点
    2.root /opt/web/imapp; 这个是当前server站点的主目录,可以把php代码都放到这个目录下,请自行修改。
    3.这里还做了去index.php的配置,可以将 http://127.0.0.1/index.php/user/login 简化为 http://127.0.0.1/user/login,有兴趣请自行研究。

    2.重新加载配置文件

    systemctl reload nginx.service
    
    

    3.在/opt/web/imapp目录下新建一个test.php文件,编辑php代码并保存

    <?php
    phpinfo();
    ?>
    
    

    4.访问地址:

    http://106.15.72.29/test.php
    
    

    如果出现下图,php页面执行成功

    image

    恭喜您,网站可以访问php动态页面了,环境搭建完成。

    六 【服务进程的管理维护】

    1.查看nginx服务状态

    systemctl list-unit-files --type=service | grep nginx 
    
    
    image

    2.查看nginx的运行状态

    systemctl status nginx.service   
    
    
    image

    3.设置nginx服务开机启动

    systemctl enable nginx.service  
    
    

    4.设置nginx服务开机不启动

    systemctl disable nginx.service  
    

    相关文章

      网友评论

          本文标题:yum 安装nginx mysql php一套代码

          本文链接:https://www.haomeiwen.com/subject/malvqctx.html