Centos7下安装Linux, Nginx, MySQL, PHP

参考文章:https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-centos-7

简单整理了安装的中文步骤:(非root用户,需要有root权限)

第一步:安装nginx.下载并安装yum的repo源

sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

安装并启动nginx,安装完可以访问下看看: 

sudo yum install nginx
sudo systemctl start nginx.service

如果需要开机启动,请执行以下命令:

sudo systemctl enable nginx.service

如果你不知道本机的ip地址,可执行以下任一命令:

ifconfig ;#显示本机所有网卡信息
ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//';#分两行返回ipv4和ipv6的的IP地址

第二步:安装Mysql

MariaDB是mysql的一个完全替换版本。具体信息可以参考百度百科:http://baike.baidu.com/link?url=w1sHep9i_EBTRkz_NkFjb_LhmWpuOLHobTIQDZOZo5Q1C0DmxAeEB_-pjhTpktY-gCriqloptlxwIcg0-hO1ja 

通过yum 安装并启动:

sudo yum install mariadb-server mariadb
sudo systemctl start mariadb

将一些默认的不安全的设置关闭:

sudo mysql_secure_installation

安装过程会要求你输入root密码,新安装的系统还未设置,直接回车即可。随后会询问你是否设置root密码,输入y,然后设置即可。如下图:

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

New password: passwordRe-enter new password: passwordPassword updated successfully!
Reloading privilege tables..
 ... Success!

其余选项,你回车选择默认设置即可。他会删除一些样例数据库和用户,禁用远程登陆等等,也可根据需求自行设置。

当然加在开机启动的命令也是一样:

sudo systemctl enable mariadb.service

第三步 安装php

同样时yum安装,需要安装mysq和fpm扩展:

sudo yum install php php-mysql php-fpm

配置php.ini (根据各自需求,配置可能不同):

sudo vi /etc/php.ini

关闭php.ini 中的以下配置:

cgi.fix_pathinfo=0 #(可参考原文自行翻译)

配置php.fpm 的配置文件www.conf:

sudo vi /etc/php-fpm.d/www.conf

修改以下内容:

listen = /var/run/php-fpm/php-fpm.sock

开启php进程,并设置开机启动:

sudo systemctl start php-fpm
sudo systemctl enable php-fpm.service

第四步 配置nginx 运行php :

以默认配置文件为例:

sudo vi /etc/nginx/conf.d/default.conf

默认的配置格式如下:

server {
    listen       80;
    server_name  localhost;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

我们需要改成自己需要的服务器配置:

大概分为(可参考原文):

 1  允许index.php 作为入口文件被自动解析  

 2 修改服务器名或ip,使服务器可以解析正确  

 3 配置一些错误信息的处理 

 4 确定需要处理的文件后缀 

参考配置如下:

server {
    listen       80;
    server_name  server_domain_name_or_IP;

    root   /usr/share/nginx/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }}

重起nginx服务:

sudo systemctl restart nginx

第五步 :测试访问是否正确

编辑/usr/share/nginx/html/下的info.php 文件

sudo vi /usr/share/nginx/html/info.php

输入以下信息:

<?php phpinfo(); ?>

通过浏览器访问:

http://your_server_IP_address/info.php

检查输出,php的版本信息等。

删除info.php文件 :

sudo rm /usr/share/nginx/html/info.php

finish!

你可能感兴趣的:(mariaDB,CentOS7,LNMP)