LNMP环境安装

《LNMP环境安装》

一、LNMP环境安装

1. 镜像源切换

先把YUM源切换成国内的镜像源,备份一下原来的源镜像文件

#cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

下载新的CentOS-Base.repo

#wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

如果没有安装wget的话可以使用#yum install wget安装完成之后,在执行CentOS-Base.repo的安装
对/etc/yum.repos.d/CentOS-Media.repo源文件配置文件,改为不生效

enable=0

YUM缓存生成

#yum clean all
#yum makecache
#yum update 

2. 安装Nginx

YUM源中没有Nginx,我们需要增加一个nginx的源nginx.repo

# vi /etc/yum.repos.d/nginx.repo

源文件的内容

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

查看Nginx是否配置成功

#yum list nginx

Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile

 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
nginx                              | 2.9 kB     00:00     
nginx/primary_db                   |  36 kB     00:00     
Available Packages
nginx.x86_64                        1.14.0-1.el6.ngx                                                                nginx

#yum list |grep nginx
[root@MiWiFi-R1D yum.repos.d]# yum list |grep nginx
nginx.x86_64                               1.14.0-1.el6.ngx              nginx  
nginx-debug.x86_64                         1.8.0-1.el6.ngx               nginx  
nginx-debuginfo.x86_64                     1.14.0-1.el6.ngx              nginx  
nginx-module-geoip.x86_64                  1.14.0-1.el6.ngx              nginx  
nginx-module-geoip-debuginfo.x86_64        1.14.0-1.el6.ngx              nginx  
nginx-module-image-filter.x86_64           1.14.0-1.el6.ngx              nginx  
nginx-module-image-filter-debuginfo.x86_64 1.14.0-1.el6.ngx              nginx  
nginx-module-njs.x86_64                    1.14.0.0.2.0-1.el6.ngx        nginx  
nginx-module-njs-debuginfo.x86_64          1.14.0.0.2.0-1.el6.ngx        nginx  
nginx-module-perl.x86_64                   1.14.0-1.el6.ngx              nginx  
nginx-module-perl-debuginfo.x86_64         1.14.0-1.el6.ngx              nginx  
nginx-module-xslt.x86_64                   1.14.0-1.el6.ngx              nginx  
nginx-module-xslt-debuginfo.x86_64         1.14.0-1.el6.ngx              nginx  
nginx-nr-agent.noarch                      2.0.0-12.el6.ngx              nginx  
pcp-pmda-nginx.x86_64                      3.10.9-9.el6                  base   

安装成功后,就可以直接安装nginx了

#yum -y install nginx

安装的就是Nginx官网的最新版本

#nginx #启动Nginx

可以使用curl命令查看是否安装成功

#curl 127.0.0.1

如果安装成功的话,就会看到输出一个HTML的一个反馈

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

开机启动设置

#systemctl enable nginx
#systemctl daemon-reload

添加www用户

#adduser  www 
#passwd   www
[root@MiWiFi-R1D nginx]# passwd www
Changing password for user www.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.

修改Nginx用户为www

#vim  /etc/nginx/nginx.conf 
user  www;


修改相应的Nginx目录权限


\#cd /var/cache/nginx #chown www.root -R *

新启动Nginx

#killall nginx 
#systemctl restart nginx 

3. 安装MySql(5.7)

官网:http://dev.mysql.com/downloads/repo/yum/

#rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

查看5.7版本是否已经启用

#yum repolist all | grep mysql
[root@MiWiFi-R1D nginx]# yum repolist all | grep mysql                                               
mysql-connectors-community/x86_64 MySQL Connectors Community      enabled:    51
mysql-connectors-community-source MySQL Connectors Community - So disabled
mysql-tools-community/x86_64      MySQL Tools Community           enabled:    63
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 - So disabled
mysql56-community/x86_64          MySQL 5.6 Community Server      disabled
mysql56-community-source          MySQL 5.6 Community Server - So disabled
mysql57-community/x86_64          MySQL 5.7 Community Server      enabled:   267
mysql57-community-source          MySQL 5.7 Community Server - So disabled
mysql80-community/x86_64          MySQL 8.0 Community Server      disabled
mysql80-community-source          MySQL 8.0 Community Server - So disabled

如果没有启用的话,我们可以修改源文件

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

把enabled改为1就可以了,其他的版本改为0 

修改完成之后查看可用的版本

#yum repolist enabled | grep mysql 

如果看到5.7版本启用了之后就可以安装MySql了

#yum -y install mysql-community-server

安装完成之后,就可以启动mysql了

#systemctl start mysqld.service

查看MySql的启动状态

# systemctl  status mysqld
root@MiWiFi-R1D nginx]# systemctl  status mysqld
[0m mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2018-06-01 04:19:20 EDT; 1min 26s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 19898 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 19805 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 19901 (mysqld)
    Tasks: 27
   CGroup: /system.slice/mysqld.service
           19901 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

Jun 01 04:19:06 MiWiFi-R1D systemd[1]: Starting MySQL Server...
Jun 01 04:19:20 MiWiFi-R1D systemd[1]: Started MySQL Server.

开机启动设置

#systemctl enable mysqld
#systemctl daemon-reload

MySql安装完成之后会在LOG文件(/var/log/mysqld.log)中生成一个root的默认密码

#grep 'temporary password' /var/log/mysqld.log
[root@MiWiFi-R1D nginx]# grep 'temporary password' /var/log/mysqld.log
2018-06-01T08:19:18.091420Z 1 [Note] A temporary password is generated for root@localhost: pV;KBitUp9Z0

登录MySql并修改root密码

#mysql -uroot -p
mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'your password';

扩展阅读:mysql的密码策略

mysql>show variables like '%password%'; 
+---------------------------------------+--------+
| Variable_name                         | Value  |
+---------------------------------------+--------+
| default_password_lifetime             | 0      |
| disconnect_on_expired_password        | ON     |
| log_builtin_as_identified_by_password | OFF    |
| mysql_native_password_proxy_users     | OFF    |
| old_passwords                         | 0      |
| report_password                       |        |
| sha256_password_proxy_users           | OFF    |
| validate_password_check_user_name     | OFF    |
| validate_password_dictionary_file     |        |
| validate_password_length              | 8      |
| validate_password_mixed_case_count    | 1      |
| validate_password_number_count        | 1      |
| validate_password_policy              | MEDIUM |
| validate_password_special_char_count  | 1      |
+---------------------------------------+--------+
14 rows in set (0.01 sec)

默认的密码策略

alidate_password_policy:密码策略,默认为MEDIUM策略 
validate_password_dictionary_file:密码策略文件,策略为STRONG才需要 
validate_password_length:密码最少长度 
validate_password_mixed_case_count:大小写字符长度,至少1个 
validate_password_number_count :数字至少1个 
validate_password_special_char_count:特殊字符至少1个

修改密码策略
在/etc/my.cnf文件添加validate_password_policy配置:

# 选择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件
validate_password_policy=0

修改默认编码
在/etc/my.cnf配置文件的[mysqld]下添加编码配置:

character_set_server=utf8
init_connect='SET NAMES utf8'

重启mysql,是修改生效

#systemctl restart mysqld 

4. 安装PHP7.1

安装7.1版本

#rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
#rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

#rpm -Uvh   http://rpms.remirepo.net/enterprise/remi-release-7.rpm
#yum  install  php71w.x86_64 php71w-cli.x86_64 php71w-common.x86_64 php71w-gd.x86_64 php71w-ldap.x86_64 php71w-mbstring.x86_64 php71w-mcrypt.x86_64  php71w-mysqlnd.x86_64  php71w-pdo.x86_64   php71w-fpm   php71w-pear  php71w-devel php71w-opcache  php71w-pecl-redis

启动php-fpm

#systemctl start php-fpm

开机启动设置

#systemctl enable php-fpm
#systemctl daemon-reload

按照文档中安装apcu会遇到问题
按照下面的方式直接安装apcu.so

# yum   -y  install  php71w-pecl-apcu php71w-pecl-apcu-devel 
# vim /etc/php.ini

[apcu]
extension = apcu.so
apc.enabled= on
apc.shm_size= 64M
apc.enable_cli = on

重新启动php-fpm

#systemctl restart php-fpm

发表评论

电子邮件地址不会被公开。 必填项已用*标注