源码安装LNMP环境

安装开始

一、注意事项

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环境搭建完成!!!!!!!!!!!!!!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江天_暮雪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值