目录
一、安装配置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%’;
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 端口了。