安装开始
一、注意事项
1:安装软件之前保证必须安装gcc和g++两个依赖文件(因为编译的时候可能会用到这两个模块)。
二、安装PHP(这里我选择PHP7.2.9)
1:开始安装。
我这里直接去php.net官网下载,上传到服务器。
解压安装包:
tar -zxvf php-7.2.9.tar.bz2
报错:
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
原因:压缩包没有用gzip格式压缩,所以不用加z参数。
再次运行
tar -xvf php-7.2.9.tar.bz2
成功。
2:安装成功得到。
php-7.2.9
cd php-7.2.9 #查看
3:安装PHP需要的扩展
yum install libxml2 libxml2-devel openssl openssl-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libmcrypt libmcrypt-devel -y
4:开始进行配置—配置参数详解
./configure -with-config-file-path=/usr/local/php/etc --prefix=/usr/local/php7.2.9 --with-mysqli --with-pdo-mysql --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-simplexml --enable-xml --disable-rpath --enable-bcmath --enable-soap --enable-zip --with-curl --enable-fpm --with-fpm-user=nobody --with-fpm-group=nobody --enable-mbstring --enable-sockets --with-gd --with-openssl --with-mhash --enable-opcache --disable-fileinfo
注意:–disable-fileinfo添加这个是为了防止报错
5:开始编译
make && make install
6:测试PHP安装成功。
/usr/local/php7.2.9/bin/php -m
显示PHP的模块
7:将PHP添加到环境变量中(有多种方法)
#注意事项,export操作只是在本次登陆中有效
export PATH=$PATH:/usr/local/php7.2.9/bin
测试:php -m
#永久性生效方式(针对于所有用户)
vim /etc/profile
#打开文件后添加
export PATH=$PATH:/usr/local/php7.2.9/bin
#如果立即生效运行
source /etc/profile
测试:php -m
三、安装Nginx(一般情况下先安装Nginx,这样可以少一些依赖)
1:开始安装,先安装依赖
#perl兼容的正则表达式库
yum install -y pcre pcre-devel
#提供数据压缩用的函式库
yum install -y zlib zlib-devel
#安装安全套接字层密码库
yum install -y openssl openssl-devel
2:解压nginx
tar -zxvf nginx-1.14.0.tar.gz
3:进行configure配置
#开启443端口需要的模块
./configure --prefix=/usr/local/nginx-1.14.0 --with-http_ssl_module
4:make && make install
有报错:但是不影响(原因不详)
make[1]: Leaving directory `/home/study/nginx/nginx-1.14.0'
5:同上配置环境变量之后启动
nginx
ps -ef | grep nginx
#显示
root 25042 1 0 23:04 ? 00:00:00 nginx: master process nginx
nobody 25043 25042 0 23:04 ? 00:00:00 nginx: worker process
root 25046 17957 0 23:04 pts/1 00:00:00 grep --color=auto nginx
#关闭Nginx
nginx -s stop
#显示
ps -ef | grep nginx
root 25228 17957 0 23:07 pts/1 00:00:00 grep --color=auto nginx
四、配置PHP与Nginx
1:检查PHP的文件,发现我们已经安装了php-fpm
#打开etc文件发现没有php.ini
#去原来的解压完的目录中将php.ini.development复制到/usr/local/php7.2.9/etc/php.ini
#将php-fpm的配置文件打开
cp php-fpm.conf.default php-fpm.conf
#启动php-fpm
/usr/local/php.7.2.9/sbin/php.fpm
#报错
WARNING: Nothing matches the include pattern '/usr/local/php7.2.9/etc/php-fpm.d/*.conf' from /usr/local/php7.2.9/etc/php-fpm.conf at line 125.
[23-Aug-2018 00:03:41] ERROR: No pool defined. at least one pool section must be specified in config file
#解决方法
cd /usr/local/php7.2.9/etc/php.fpm.d
cp www.conf.default www.conf
#再次运行
/usr/local/php7.2.9/sbin/php-fpm
#查看是否启动成功
ps -ef | grep php-fpm
#显示
root 28728 1 0 00:12 ? 00:00:00 php-fpm: master process (/usr/local/php7.2.9/etc/php-fpm.conf)
nobody 28729 28728 0 00:12 ? 00:00:00 php-fpm: pool www
nobody 28730 28728 0 00:12 ? 00:00:00 php-fpm: pool www
root 28739 17957 0 00:12 pts/1 00:00:00 grep --color=auto php-fpm
2:配置Nginx文件(失败)
#打开nginx.conf打开配置location
在浏览器访问服务器。
报错为:file not found
解决方法:可以点击这里
vim nginx.conf
#将
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
#换成
fastcgi_param SCRIPT_FILENAME $document__root$fastcgi_script_name;
#保存
nginx -s reload
测试:成功。
五、安装mysql(这里安装mysql5.7)
1:经过多方考虑,选择使用yum安装.
检查系统是否安装了mysql
rpm -qa | grep mysql
如果有,则需要先卸载mysql
yum -y remove mysql
2:下载mysql的yum源
这里使用wget下载yum源
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
安装包成功。
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
报错
rpm -ivh mysql57-community-release-el7-8.noarch.rpm warning: mysql57-community-release-el7-8.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
运行列出yum源的安装包
yum repolist all | grep mysql
结果:
mysql-connectors-community/x86_64 MySQL Connectors Community enabled: 63
mysql-connectors-community-source MySQL Connectors Community - S disabled
mysql-tools-community/x86_64 MySQL Tools Community enabled: 69
mysql-tools-community-source MySQL Tools Community - Source disabled
mysql-tools-preview/x86_64 MySQL Tools Preview disabled
mysql-tools-preview-source MySQL Tools Preview - Source disabled
mysql55-community/x86_64 MySQL 5.5 Community Server disabled
mysql55-community-source MySQL 5.5 Community Server - S disabled
mysql56-community/x86_64 MySQL 5.6 Community Server disabled
mysql56-community-source MySQL 5.6 Community Server - S disabled
mysql57-community/x86_64 MySQL 5.7 Community Server enabled: 287
mysql57-community-source MySQL 5.7 Community Server - S disabled
运行:
yum repolist enabled | grep mysql
结果:
mysql-connectors-community/x86_64 MySQL Connectors Community 21
mysql-tools-community/x86_64 MySQL Tools Community 36
mysql57-community/x86_64 MySQL 5.7 Community Server 110
运行:
yum install mysql-community-server
结果:
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package mysql-community-server.x86_64 0:5.7.23-1.el7 will be installed
--> Processing Dependency: mysql-community-common(x86-64) = 5.7.23-1.el7 for package: mysql-community-server-5.7.23-1.el7.x86_64
--> Processing Dependency: mysql-community-client(x86-64) >= 5.7.9 for package: mysql-community-server-5.7.23-1.el7.x86_64
--> Processing Dependency: libnuma.so.1(libnuma_1.2)(64bit) for package: mysql-community-server-5.7.23-1.el7.x86_64
--> Processing Dependency: libnuma.so.1(libnuma_1.1)(64bit) for package: mysql-community-server-5.7.23-1.el7.x86_64
--> Processing Dependency: libnuma.so.1()(64bit) for package: mysql-community-server-5.7.23-1.el7.x86_64
--> Running transaction check
---> Package mysql-community-client.x86_64 0:5.7.23-1.el7 will be installed
--> Processing Dependency: mysql-community-libs(x86-64) >= 5.7.9 for package: mysql-community-client-5.7.23-1.el7.x86_64
---> Package mysql-community-common.x86_64 0:5.7.23-1.el7 will be installed
---> Package numactl-libs.x86_64 0:2.0.9-7.el7 will be installed
--> Running transaction check
---> Package mariadb-libs.x86_64 1:5.5.56-2.el7 will be obsoleted
--> Processing Dependency: libmysqlclient.so.18()(64bit) for package: 2:postfix-2.10.1-6.el7.x86_64
--> Processing Dependency: libmysqlclient.so.18(libmysqlclient_18)(64bit) for package: 2:postfix-2.10.1-6.el7.x86_64
---> Package mysql-community-libs.x86_64 0:5.7.23-1.el7 will be obsoleting
--> Running transaction check
---> Package mysql-community-libs-compat.x86_64 0:5.7.23-1.el7 will be obsoleting
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================================
Package Arch Version Repository Size
================================================================================================
Installing:
mysql-community-libs x86_64 5.7.23-1.el7 mysql57-community 2.2 M
replacing mariadb-libs.x86_64 1:5.5.56-2.el7
mysql-community-libs-compat x86_64 5.7.23-1.el7 mysql57-community 2.0 M
replacing mariadb-libs.x86_64 1:5.5.56-2.el7
mysql-community-server x86_64 5.7.23-1.el7 mysql57-community 165 M
Installing for dependencies:
mysql-community-client x86_64 5.7.23-1.el7 mysql57-community 24 M
mysql-community-common x86_64 5.7.23-1.el7 mysql57-community 274 k
numactl-libs x86_64 2.0.9-7.el7 os 29 k
Transaction Summary
================================================================================================
Install 3 Packages (+3 Dependent packages)
Total download size: 194 M
Is this ok [y/d/N]: y
Downloading packages:
warning: /var/cache/yum/x86_64/7/mysql57-community/packages/mysql-community-common-5.7.23-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Public key for mysql-community-common-5.7.23-1.el7.x86_64.rpm is not installed
(1/6): mysql-community-common-5.7.23-1.el7.x86_64.rpm | 274 kB 00:00:06
(2/6): mysql-community-libs-5.7.23-1.el7.x86_64.rpm | 2.2 MB 00:00:04
(3/6): mysql-community-libs-compat-5.7.23-1.el7.x86_64.rpm | 2.0 MB 00:00:02
(4/6): numactl-libs-2.0.9-7.el7.x86_64.rpm | 29 kB 00:00:00
(5/6): mysql-community-client-5.7.23-1.el7.x86_64.rpm | 24 MB 00:00:19
(6/6): mysql-community-server-5.7.23-1.el7.x86_64.rpm | 165 MB 00:02:48
------------------------------------------------------------------------------------------------
Total 1.1 MB/s | 194 MB 00:03:03
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Importing GPG key 0x5072E1F5:
Userid : "MySQL Release Engineering <mysql-build@oss.oracle.com>"
Fingerprint: a4a9 4068 76fc bd3c 4567 70c8 8c71 8d3b 5072 e1f5
Package : mysql57-community-release-el7-8.noarch (installed)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Is this ok [y/N]: y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
Installing : mysql-community-common-5.7.23-1.el7.x86_64 1/7
Installing : mysql-community-libs-5.7.23-1.el7.x86_64 2/7
Installing : mysql-community-client-5.7.23-1.el7.x86_64 3/7
Installing : numactl-libs-2.0.9-7.el7.x86_64 4/7
Installing : mysql-community-server-5.7.23-1.el7.x86_64 5/7
Installing : mysql-community-libs-compat-5.7.23-1.el7.x86_64 6/7
Erasing : 1:mariadb-libs-5.5.56-2.el7.x86_64 7/7
Verifying : mysql-community-server-5.7.23-1.el7.x86_64 1/7
Verifying : numactl-libs-2.0.9-7.el7.x86_64 2/7
Verifying : mysql-community-libs-5.7.23-1.el7.x86_64 3/7
Verifying : mysql-community-client-5.7.23-1.el7.x86_64 4/7
Verifying : mysql-community-libs-compat-5.7.23-1.el7.x86_64 5/7
Verifying : mysql-community-common-5.7.23-1.el7.x86_64 6/7
Verifying : 1:mariadb-libs-5.5.56-2.el7.x86_64 7/7
Installed:
mysql-community-libs.x86_64 0:5.7.23-1.el7
mysql-community-libs-compat.x86_64 0:5.7.23-1.el7
mysql-community-server.x86_64 0:5.7.23-1.el7
Dependency Installed:
mysql-community-client.x86_64 0:5.7.23-1.el7 mysql-community-common.x86_64 0:5.7.23-1.el7
numactl-libs.x86_64 0:2.0.9-7.el7
Replaced:
mariadb-libs.x86_64 1:5.5.56-2.el7
Complete!
3:启动mysql并查看状态。
service mysqld start
结果:
Redirecting to /bin/systemctl start mysqld.service
service mysqld status
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2018-08-23 22:56:26 CST; 4min 32s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 9696 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
Process: 9621 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 9700 (mysqld)
CGroup: /system.slice/mysqld.service
└─9700 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
Aug 23 22:56:19 VM_0_9_centos systemd[1]: Starting MySQL Server...
Aug 23 22:56:26 VM_0_9_centos systemd[1]: Started MySQL Server.
4:获取mysql默认的root密码并进行修改。
查询mysql的默认密码
grep 'temporary password' /var/log/mysqld.log
结果:
2018-08-23T14:56:21.294486Z 1 [Note] A temporary password is generated for root@localhost: mi4;D229iygo
登录mysql
mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.14
...
修改密码:(注意这里的密码必须是大写字母、小写字母、特殊符号、数字四种组合)
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘PENG_fei_123456’;
5:mysql5.7,密码规则修改,创建用户授权操作
修改密码判断规则为基于密码的长度
set global validate_password_policy=0
创建用户 (任意密码必须在8位以上)
CREATE USER ‘test’@’%’ IDENTIFIED BY ‘12345678’;
username:你将创建的用户名
host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%
password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器
授权,授权所有的权限命令。
GRANT ALL ON *.* TO 'test'@'%'
;
privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
databasename:数据库名
tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*
用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
其他的mysql用户操作请点击这里
至此LNMP环境搭建完成!!!!!!!!!!!!!!!!