• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 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=0

3、编辑PHP-FPM配置文件

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

 将
 user = nobody
 group = nobody   

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

1 groupadd -r nginx
2 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均安装和配置成功。

     

 三、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 -uroot
2 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的进程

 

问题:以上安装之后 nginx并不解析 php文件的原因
 

nginx安装完成后,修改nginx配置文件为,nginx.conf

其中server段增加如下配置,注意标红内容配置,否则会出现No input file specified.错误

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

当时就是默认nginx里的配置与上面的红色有些出入,导致不能正常解析php文件。请注意红色加粗的部份。

网上有很多帖子都不靠谱,后来找到一个靠谱的答案,已解决:http://blog.sina.com.cn/s/blog_6fcb75890102w8xm.html
 
 转自:https://www.cnblogs.com/peteremperor/p/6740725.html

 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=0

3、编辑PHP-FPM配置文件

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

 将
 user = nobody
 group = nobody   

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

1 groupadd -r nginx
2 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均安装和配置成功。

     

 三、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 -uroot
2 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的进程

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
phpstr_split中文乱码问题解决发布时间:2022-07-10
下一篇:
php禁止浏览器使用缓存页面的方法发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap