centos7使用yum安装nginx+php7+mysql5.6

createh52周前 (06-04)技术教程6

本文主要介绍安装在centos7下如何安装nginx+php+mysql的环境,centos7的版本自带安装源的版本无法实现PHP5.4以上的版本,数据库默认用的是mariadb,文章介绍的安装是如何去定制PHP和mysql版本实现php5.4以上的版本以及原版的Mysql。本文以php7.0 以及mysql5.6为例。

(一)Nginx安装

先查看服务器上有没有其它的web服务,查看命令如下

rpm -aq|grep nginx
rpm -aq|grep httpd

也可以用 yum list installed|nginx来查看已安装的包,如果有已安装的包可以用yum -y remove进行卸载,操作后执行下面的安装命令,直至安装完成

yum -y install nginx

设置开机自启动并启动nginx

systemctl enable nginx
systemctl start nginx

开放80端口

firewall-cmd --zone=public --add-port=80/tcp --permanent 
firewall-cmd --reload

命令含义:
--zone=public #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效

到这一步nginx就安装完成了

(二)PHP的安装

先查询系统里是否有安装其它的PHP版本

rpm -aq|grep php

如果有安装请用yum -y remove 名称 进行卸载, 接下安装PHP安装源,

yum -y install epel-release  #更新系统最新epel源
rpm -ivh http://rpms.remirepo.net/enterprise/remi-release-7.rpm  #向系统添加PHP安装源

如果是centos8把地址换成

http://rpms.remirepo.net/enterprise/remi-release-8.rpm

可以通过以下命令查看仓库中可安装的PHP版本

yum repolist all|grep php

这里我们安装PHP7.0,如果是PHP其它的版,请装后面命令里的70替换成你对应的版本号即可

yum -y install php70
yum -y install php70-php-fpm

安装其它的常用模块

yum -y install php70-php-gd php70-php-json php70-php-mbstring php70-php-mysqlnd php70-php-xml php70-php-xmlrpc php70-php-opcache

查看其它的可安装的PHP模块

yum list|grep php70-php

配置php-fpm配置文件,把运行用户以及用户组修改成nginx

vi /etc/opt/remi/php70/php-fpm.d/www.conf

找到user和group修改成如下内容

user = nginx
group = nginx

修改php.ini配置文件
/etc/opt/remi/php70/php.ini

short_open_tag = On
upload_tmp_dir= "/tmp"
session.save_path = "/tmp"
post_max_size = 300M
upload_max_filesize = 200M
date.timezone = PRC

使用systemctl添加自启动项,并启动php-fpm服务

systemctl enable php70-php-fpm
systemctl start php70-php-fpm

运行 php70 -v即可查看到PHP详细的版本信息

如果需要用php -v能使用查看可执行下面命令

ln -s /opt/remi/php70/root/usr/bin/php /usr/bin/php

在Nignx的配置文件server代码里添加PHP支持

location ~ \.php(.*)$ {
    try_files $uri =404;
	fastcgi_pass   127.0.0.1:9000;
	fastcgi_index  index.php;
	set $real_script_name $fastcgi_script_name;
	if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)#34;) {
			set $real_script_name $1;
			set $path_info $2;
	 }
	fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
	fastcgi_param SCRIPT_NAME $real_script_name;
	fastcgi_param PATH_INFO $path_info;

	include        fastcgi_params;
}

配置后需重启一下nginx服务

systemctl restart nginx

(三)MySQL安装

查看是否已经安装Mysql或者mariadb

rpm -aq|grep mariadb
rpm -aq|grep mysql-community

如有安装请用 yum -y remove命令进行卸载
添加mysql安装源

rpm -ivh http://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm

或者用

yum -y install  http://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm

这个默认是最新的mysql8.0的安装源,这里我们需要安装的是mysql5.6的版本,所以我们需要对源配置文件进行相应的修改
源文件位置:
/etc/yum.repos.d/mysql-community.repo

在文件第一行加入以下代码

[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

注:如果是需要安装mysql5.7请把上面代码的5.6参数改成5.7即可。

然后把MySQL 8.0 Community Server配置段代码里的enabled参数改成0

然后执行命令安装mysql5.6

 yum install mysql-community-server

配置/etc/my.conf

[mysqld]
port= 3306
character_set_server=utf8
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 
[client]
port= 3306
default_character_set=utf8

添加启动项并启动mysql服务

systemctl start mysqld
systemctl enable mysqld

然后输入 以下命令回车就可以登录上mysql了

mysql -uroot -p

这里默认的mysql密码为空

如果安装的是mysql5.7请执行下面命令查看mysql默认密码 执行命令:

grep 'temporary password' /var/log/mysqld.log

安装必须重置一下默认mysql密码,登录上mysql后输入命令重置密码

set password=password('你的密码') 

或者直接执行

mysqladmin -u root  password 你的密码  #注:这个命令不需要登录mysql执行

如果修改密码的时候碰到要求密码复制度,可以先尝试关闭mysql密码安全策略,具体操作命令如下

show variables like 'validate_password%';
set global validate_password_policy=0;
set global validate_password_length=1;
flush privileges;

启用mysql远程登录

如果需要启用mysql远程登录需要先开放3306端口,执行下面命令开放端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent 
firewall-cmd --reload

如果是云主机还需要到云主机平台对应安全组或者防火墙里开放3306端口

mysql -uroot -p
use mysql
update user set host="%" where user="root" and host="localhost"
flush privileges;
exit;

相关文章

CentOS Nginx安装及配置

安装在 CentOS 上,可直接使用 yum 来安装 Nginxyum install nginx -y扩展: 卸载用 yum remove nginx启动安装完成后,使用 nginx 命令启动 Ng...

离线状态下安装 Nginx 各个模块?这篇攻略让你轻松搞定

你是不是也在为离线状态下安装 Nginx 各个模块而发愁?在互联网大厂后端开发工作中,我们常常会遇到一些特殊的网络环境,比如公司内部的离线服务器,或是处于隔离状态的测试环境。当需要在这些离线环境中安装...

后端开发必看!没网也能在 Linux 服务器上安装 Nginx 的神操作

在互联网大厂后端开发的日常工作里,不少人都遇到过 “紧急时刻”—— 需要在没有网络的 Linux 服务器上安装 Nginx 服务。望着空白的网络连接状态,一时间不知道从何下手?别着急!今天就手把手教你...

nginx如何安装使用

nginx是什么?Nginx,简称为"engine x",是一个高性能的HTTP和反向代理web服务器,同时也Nginx,简称为"engine x",是一个高性能的HT...

一步步教你使用 docker 快速安装实用的 nginx 服务器

nginx 是一款高性能的 web 服务器,支持反向代理、负载均衡、静态资源管理,非常实用。使用 docker 安装 nginx 非常简便,不仅可以快速启动服务,因为容器特性,有良好的隔离性,还方便管...

windows下将nginx做成服务

注意:本例子拿Nginx作为演示,其余的windows程序也可以通过此方式做成服务windows下安装Nginx后,只能通过双击进行来启动,通过任务管理器来停止进程,如果要通过命令行启动Nginx,可...