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

一、Nginx

 1、安装nginx

yum install nginx

2、启动nginx

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

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 即执行

yum install php php-mysqlnd php-fpm

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

vim /etc/php.ini

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

3、编辑PHP-FPM配置文件

vim /etc/php-fpm.d/www.conf

 将  user = nobody  group = nobody   

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

1 groupadd -r nginx2 useradd -r -g nginx nginx

4、启动PHP—FPM

systemctl start php-fpm

5、设置开机启动

systemctl enable php-fpm

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

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 2. 在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)

wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

2、补充yum源(2)

rpm -ivh mysql-community-release-el7-5.noarch.rpm

3、安装mysql

yum install mysql-community-server

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

systemctl start mysqld

初次安装mysql是root账户是没有密码的 设置密码的方法

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://www.zwblog.cn/post/78.html 版权声明:本文为原创文章,版权归 herve 所有,欢迎分享本文,转载请保留出处!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

Nginx+PHP-FPM的域Socket配置方法

马哥linux运维 | 最专业的linux培训机构 ---- 1什么是域Socket “Unix domain socket 或者 IPCsocket 是一种终...

3054
来自专栏狂码一生

Nginx负载均衡与反向代理

一、nginx配置属性详细说明: #全局设置 main  # 运行用户 user www-data;     # 启动进程,通常设置成和cpu的数量相等 wor...

45515
来自专栏PHP实战技术

初识 Nginx

Nginx 是一个免费的,开源的,高性能的HTTP服务器和反向代理,以及IMAP / POP3代理服务器。 Nginx

2919
来自专栏me的随笔

同源策略与CORS

不同源下,浏览器不允许js操作Cookie、LocalStorage、DOM等数据或页面元素,也不允许发送ajax请求,同源下则不受影响。

1102
来自专栏Laoqi's Linux运维专列

Linux防火墙-firewall

Firewall : 由于centOS 7采用了新的firewall防火墙,也是未来的一种趋势,所以咱们在7上面既可以使用6也可以使用7。 由于iptables...

7145
来自专栏抠抠空间

爬虫之FileCookieJar

1830
来自专栏HTML5学堂

Cookie的路径以及Cookie域

HTML5学堂:在之前的文章《使用cookie实现换肤功能》当中,曾经介绍过关于cookie的用法,也书写了一个简单的demo,在这篇文章当中,主要针对cook...

2834
来自专栏超然的博客

JSONP && CORS

  前天面试被问到了跨域的问题,自我感觉回答的并不理想,下面我就分享一下整理后的总结分享给大家

2262
来自专栏我的博客

Sed详解

1、说明 sed 一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令...

32410
来自专栏蓝天

redis for lack of backlog

版本: redis-3.2.9 部署: 5台64G内存的物理机,每台机器启动2个redis进程组成5主5备集群,每台机器1个主1个备,并且错开互备...

1215

扫码关注云+社区

领取腾讯云代金券