前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS7上安装并配置Nginx、PHP、MySql

CentOS7上安装并配置Nginx、PHP、MySql

作者头像
herve
发布2018-09-20 10:26:38
4.8K0
发布2018-09-20 10:26:38
举报
文章被收录于专栏:张伟博客张伟博客

一、Nginx

 1、安装nginx

代码语言:javascript
复制
yum install nginx

2、启动nginx

代码语言:javascript
复制
systemctl start nginx

除了systemctl start nginx之外,常用的相关命令还有systemctl stop nginx、systemctl restart nginx、systemctl status nginx

3、测试nginx是否安装成功

    浏览器输入ip地址或者域名(已经解析过的域名),如下图所示,则安装成功。

4,配置Nginx支持PHP解析

编辑/etc/nginx/nginx.conf,蓝色字体处为新加内容

 server {

        listen       80 default_server;

        listen       :::80 default_server;

        server_name  _;

        root         /usr/share/nginx/html;

 index index.php index.html index.htm;

        # Load configuration files for the default server block.

        include /etc/nginx/default.d/*.conf;

        location / {

        }

        error_page 404 /404.html;

            location = /40x.html {

        }

        error_page 500 502 503 504 /50x.html;

            location = /50x.html {

        }

location ~ .php$ {

        try_files $uri =404;

        root /usr/share/nginx/html;

        fastcgi_pass 127.0.0.1:9000;

        fastcgi_index index.php;

        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

        include fastcgi.conf;

}

}

二、PHP

1,安装PHP

代码语言:javascript
复制
yum install php php-mysql php-fpm

安装过程中经常会见到如下问题:

2:postfix-2.10.1-6.el7.x86_64 有缺少的需求 libmysqlclient.so.18()(64bit)

2:postfix-2.10.1-6.el7.x86_64 有缺少的需求 libmysqlclient.so.18(libmysqlclient_18)(64bit)

解决方法:

把php-mysql换成php-mysqlnd

即执行

代码语言:javascript
复制
yum install php php-mysqlnd php-fpm

2、编辑PHP的配置文件,/etc/php.ini,注意去掉分号注释

代码语言:javascript
复制
vim /etc/php.ini

将 ;cgi.fix_pathinfo=1 改为 cgi.fix_pathinfo=1  只要把前面的分号去掉就可以了;

3、编辑PHP-FPM配置文件

代码语言:javascript
复制
vim /etc/php-fpm.d/www.conf

 将

 user = nobody

 group = nobody   

 改为

 user = nginx

 group = nginx

 前提是已经创建了nginx用户和nginx组。如果没有创建方法:

代码语言:javascript
复制
1 groupadd -r nginx2 useradd -r -g nginx nginx

4、启动PHP—FPM

代码语言:javascript
复制
systemctl start php-fpm

5、设置开机启动

代码语言:javascript
复制
systemctl enable php-fpm

6,确保Nginx配置文件修该之后,重启Nginx

代码语言:javascript
复制
systemctl restart nginx

7、在/usr/share/nginx/html/目录下创建phpinfo.php

    内容如下:

   <?php phpinfo();?>

查看php进程:ps aux | grep php  查看端口占用:netstat -ano|grep 80

8、浏览器上输入ip/phpinfo.php,如果出现如下界面,说明PHP和Nginx均安装和配置成功。

注:如果出现以下错误:

No input file specified.

解决方法:

  1. 更改php.ini

首先php.ini的配置中把

;cgi.fix_pathinfo=0   改为

cgi.fix_pathinfo=1

重启PHP或PHP-FPM

  1. 在nginx/conf/nginx.conf   找到: fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;  改为: fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

重启nginx ;

 三、MySql

CentOS 7的yum源中貌似没有正常安装mysql时的mysql-sever文件,需要去官网上下载

1、补充yum源(1)

代码语言:javascript
复制
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

2、补充yum源(2)

代码语言:javascript
复制
rpm -ivh mysql-community-release-el7-5.noarch.rpm

3、安装mysql

代码语言:javascript
复制
yum install mysql-community-server

4、成功安装之后重启mysql服务

代码语言:javascript
复制
systemctl start mysqld

初次安装mysql是root账户是没有密码的

设置密码的方法

代码语言:javascript
复制
1 mysql -uroot2 mysql> set password for ‘root’@‘localhost’ = password('mypasswd');3 mysql> exit

mysql -u root -p

输入密码之后,错误提示如下:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES),意思是root的密码不正确。

解决办法如下:

a.sudo mysqld_safe --user=root --skip-grant-tables --skip-networking &

输入命令之后,如果提示信息为:

mysqld_safe A mysqld process already exists

表示mysqld_safe进程存在,可以通过

ps -A|grep mysql 查看mysqld_safe进程ID

kill -9 -xxxx            终结ID为xxxx的进程

本文地址:https://cloud.tencent.com/developer/article/1343943

版权声明:本文为原创文章,版权归 herve 所有,欢迎分享本文,转载请保留出处!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/08/30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、Nginx
  • 二、PHP
  • No input file specified.
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档