LNMP环境与应用配置

目录

一、安装配置MySQL 5.7

1、安装MySQL 5.7

2、MySQL 5.7密码策略

3、创建数据库和账号

二、安装配置PHP 7.3

1、安装依赖库

2、创建www用户

3、安装PHP7.3

4、配置PHP环境

三、安装配置Nginx(带Lua支持)

1、安装LuaJIT 2.0.5

2、安装ngx_devel_kit

3、安装nginx_lua_module

4、导入环境变量

5、编译安装Nginx

6、运行nginx并确认安装成功


一、安装配置MySQL 5.7
1、安装MySQL 5.7
 下载源:wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
 安装源:rpm -ivh mysql57-community-release-el7-8.noarch.rpm
 编辑 /etc/yum.repos.d/mysql-community.repo,确保 5.7 版本 enabled=1
 [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
 在线安装:
 yum clean all
 yum install mysql-server
 启动MySQL服务:systemctl start mysqld
 mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。找到root默认密码,然后登录mysql进行修改:
 [root@centqiang opt]# grep "temporary password" /var/log/mysqld.log
 2021-08-31T15:23:14.628920Z 1 [Note] A temporary password is generated for root@localhost: eWUi1LI/>mu#
 登录MySQL:mysql -uroot -p
 输入密码:eWUi1LI/>mu#   进入MySQL提示符,运行以下命令:
 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
 或者
 mysql> set password for 'root'@'localhost'=password('MyNewPass4!');
2、MySQL 5.7密码策略

修改密码时需要注意,在MySQL 5.7的版本中,数据库密码强制要求了密码强度必须包含大小写数字和特殊字符,弱密码不能使用。

通过msyql环境变量可以查看密码策略的相关信息:mysql> show variables like ‘%password%’;

image-20210831232726376

 validate_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

如果不需要密码策略,添加my.cnf文件中添加如下配置禁用即可:

validate_password = off

3、创建数据库和账号

完成上述配置后,按照正常流程配置远程访问或创建数据库等,本处使用以下方式创建一个远程登录账号且只用于新建的数据库,此处以配置 蜗牛笔记 系统为例:

 mysql> create database woniunote character set utf8 collate utf8_general_ci;    # 创建数据库 woniunote
 Query OK, 1 row affected (0.00 sec)
 mysql> create user qiang@'%' identified by 'WonuiN2@';    # 创建用户 qiang@localhost,密码为:WonuiN2@
 Query OK, 0 rows affected (0.00 sec)
 mysql> grant all privileges on woniunote.* to qiang@'%';     # 授权账户 qiang 拥有 woniunote 数据库所有权限
 Query OK, 0 rows affected (0.00 sec)
 可以使用以下命令确认用户是否创建成功:
 mysql> use mysql;
 mysql> select User, Host, authentication_string from user;
 如果要删除某个用户,可以使用以下命令:
 mysql> drop user qiang@localhost;
 如果要收回权限,如DELETE或UPDATE或ALL,下述命令收回所有权限:
 mysql> REVOKE all ON woniunote.* FROM qiang@'%';

完成上述操作后,重启MySQL服务器,使用Navicat进行远程连接,此时,将只会出现 woniunote 数据库,用户无法查看其他数据库,按照正常流程,运行 woniunote 的SQL文件完成数据库的创建。记得让防火墙允许 3306 端口访问。

二、安装配置PHP 7.3
1、安装依赖库
 yum install -y gcc gcc-c++ make sudo autoconf libtool-ltdl-devel gd-devel freetype-devel libxml2-devel libjpeg-devel libpng-devel curl-devel patch libmcrypt-devel libmhash-devel ncurses-devel bzip2 libcap-devel ntp sysklogd diffutils sendmail iptables unzip cmake pcre-devel zlib-devel openssl openssl-devel
2、创建www用户

之前的安装配置,均使用 root 账户,如果一旦应用系统被攻击成功,那么攻击者将直接拥有 root 权限,极其危险。所以,建议在配置Web应用时,将整个Web应用程序的各级目录和文件的所有者和组(owner和group)的所有者修改为 www 这个普通账号。

 创建www组:groupadd www
 创建系统账号www:useradd -r www -g www
3、安装PHP7.3
 下载PHP7.3版本: https://www.php.net/downloads.php  
 解压:tar -zxvf php-7.3.30.tar.gz 
 切换到源代码目录:cd php-7.3.30
 配置PHP安装路径和模块:
 ./configure --prefix=/usr/local/php --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-openssl --with-libxml-dir --with-zlib --enable-mbstring --with-mysqli=mysqlnd --enable-mysqlnd --with-pdo-mysql=mysqlnd --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir --enable-sockets --with-curl --enable-maintainer-zts
 编译:make      (耗时较长)
 测试:make test (此步骤可以不用,耗时也很长,大约有13000多个文件需要进行测试,文件多少取决于安装了哪些模块)
 安装:make install    #--prefix=/usr/local/php 指定了PHP的安装路径
4、配置PHP环境
 复制配置文件:
 cd /usr/local/php
 cp etc/php-fpm.conf.default etc/php-fpm.conf
 cp etc/php-fpm.d/www.conf.default etc/php-fpm.d/www.conf
 cp /opt/php-7.3.30/php.ini-production lib/php.ini
 启动php-fpm:
 /usr/local/php/sbin/php-fpm

要让Nginx可以访问PHP,运行PHP脚本,必须要启动 php-fpm,该进程将启动 端口9000 进行监听,获取从Nginx发送过来的PHP脚本处理请求,其满足Fast-CGI协议。

三、安装配置Nginx(带Lua支持)
1、安装LuaJIT 2.0.5
 cd /opt
 wget http://luajit.org/download/LuaJIT-2.0.5.tar.gz
 tar -zxf LuaJIT-2.0.5.tar.gz
 cd LuaJIT-2.0.5
 make && make install
2、安装ngx_devel_kit

NDK(nginx development kit)模块是一个拓展nginx服务器核心功能的模块,第三方模块开发可以基于它来快速实现。

 wwget https://github.com/simplresty/ngx_devel_kit/archive/v0.3.0.tar.gz
 tar -zxf v0.3.0.tar.gz
 解压即可,无需要配置安装,在编译Nginx指定该目录
3、安装nginx_lua_module
 wget https://github.com/openresty/lua-nginx-module/archive/v0.10.13.tar.gz
 tar -zxf v0.10.13.tar.gz
 解压即可,无需要配置安装,在编译Nginx指定该目录
4、导入环境变量
 编辑 /etc/profile 文件,在末尾添加:
 export LUAJIT_LIB=/usr/local/lib
 export LUAJIT_INC=/usr/local/include/luajit-2.0
 保存并让该脚本生效:
 source /etc/profile
 运行 env | grep LUA,确保环境变量已经生效
5、编译安装Nginx
 [root@localhost opt]# tar -zxf nginx-1.21.0.tar.gz  
 [root@localhost opt]# cd nginx-1.21.0
 [root@localhost nginx-1.14.0]# ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --pid-path=/usr/local/nginx/nginx.pid --with-http_realip_module --add-module=/opt/ngx_devel_kit-0.3.0 --add-module=/opt/lua-nginx-module-0.10.13 --with-ld-opt="-Wl,-rpath,$LUAJIT_LIB"
 [root@localhost nginx-1.14.0]# make -j2     # 多任务执行编译,加快速度
 [root@localhost nginx-1.14.0]# make install
6、运行nginx并确认安装成功
 firewall-cmd --add-port=80/tcp --permanent
 firewall-cmd --reload
 /usr/local/nginx/sbin/nginx
 如果需要重启nginx:
 /usr/local/nginx/sbin/nginx -s reload

完成上述配置后,就可以直接 访问 该服务器的 80 端口了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值