安装php
1、首先安装 EPEL 源:
yum install epel-release
2、安装 REMI 源:
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
3、安装 Yum 源管理工具:
yum install yum-utils
4、安装 PHP7.3:
yum install -y php73-php-fpm php73-php-cli php73-php-bcmath php73-php-gd php73-php-json php73-php-mbstring php73-php-mcrypt php73-php-mysqlnd php73-php-opcache php73-php-pdo php73-php-pecl-crypto php73-php-pecl-mcrypt php73-php-pecl-geoip php73-php-recode php73-php-snmp php73-php-soap php73-php-xmll php73-php-xml
5、安装完成后最好重启一下计算机,不然有可能无法启动php,设置开机启动、运行服务:
systemctl enable php73-php-fpm
systemctl start php73-php-fpm
6、设置 PHP,;cgi.fix_pathinfo=1 替换为 cgi.fix_pathinfo=0(解决php漏洞)
//下面方式二选一
//打开php.ini进行编辑
vi /etc/opt/remi/php73/php.ini
//快捷命令
sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/' /etc/opt/remi/php73/php.ini
7、重启php73-php-fpm
systemctl restart php73-php-fpm #重启(执行这条即可)
systemctl start php73-php-fpm #启动
systemctl stop php73-php-fpm #关闭
systemctl status php73-php-fpm #检查状态
8、查看php是否安装成功
php73 -v
安装nginx
1、安装make
yum -y install gcc automake autoconf libtool make
2、安装c++编译环境
yum install gcc gcc-c++
3、安装OpenSSL
cd /usr/local/src
wget https://www.openssl.org/source/openssl-1.1.1b.tar.gz
tar -zxvf openssl-1.1.1b.tar.gz
cd openssl-1.1.1b
./config && make && make install
4、安装PCRE库,作用是让 Nginx 支持 Rewrite 功能
cd /usr/local/src
wget https://ftp.pcre.org/pub/pcre/pcre-8.13.tar.gz
tar -zxvf pcre-8.13.tar.gz
cd pcre-8.13
./configure && make && make install
5、安装zlib库
cd /usr/local/src
wget http://zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure && make && make install
6、安装Nginx
cd /usr/local/src
wget http://nginx.org/download/nginx-1.15.10.tar.gz
tar -zxvf nginx-1.15.10.tar.gz
cd nginx-1.15.10
./configure && make && make install
7、启动nginx,启动完nginx,直接访问服务器ip,就出现nginx的欢迎界面
whereis nginx //查看Nginx安装路径
vi /usr/local/nginx/conf/nginx.conf //修改端口和服务名
sudo /usr/local/nginx/sbin/nginx //启动Nginx
sudo /usr/local/nginx/sbin/nginx -s reload //重启
ps -ef|grep nginx //查看是否启动成功
nginx -t //检测配置是否正确
ps:出现下面错误时:
cd /lib64 #切换目录
ls -ld libpcre.so.* #查看libpcre文件是否存在
ln -s /lib64/libpcre.so.1.2.0 /lib64/libpcre.so.0 #建立软链接
8、开通Nginx服务的防火墙端口,默认80直接访问也是可以的
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --zone=public --add-port=10080/tcp --permanent //开启10080端口
命令含义:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
firewall-cmd --reload //重启防火墙 (开放完新的端口后,需要重新启动防火墙)
配置nginx访问php
cd /usr/local/nginx/conf #切换到nginx的conf配置目录
vim cxh.conf #新建并打开自定义的配置文件,放入下面代码,配置目录即可
vi nginx.conf #打开配置文件
include cxh.conf; #引入自定义的配置文件
cd /var/www/html #切换到自己用来放网站的目录,没有的话新建即可
vi index.php #新建index.php文件,写上代码,用来测试访问
sudo /usr/local/nginx/sbin/nginx -s reload #重启nginx
cxh.conf文件
server {
listen 80;
#配置https ssl
listen 443 ssl;
server_name www.cxh520.top;
root /var/www/html/laravel_uni_app/laravel/public;
index index.php index.html index.htm;
#配置https ssl
ssl_certificate /var/www/html/4033464_cxh520.top.pem;
ssl_certificate_key /var/www/html/4033464_cxh520.top.key;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
}
安装mysql
cd /usr/local/src/ #切换目录
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm #下载下载安装源
yum -y localinstall mysql57-community-release-el7-11.noarch.rpm # 安装源
yum -y install mysql-community-server #安装
systemctl start mysqld #启动
systemctl restart mysqld #重启
systemctl enable mysqld #开机重启
systemctl daemon-reload #开机重启
vi /var/log/mysqld.log #打开文件,找默认密码
vi /etc/my.cnf #打开文件
skip-grant-tables #在下图对应位置加代码
systemctl restart mysqld #重启
mysql -u root #进入mysql
update user set authentication_string=PASSWORD('123456') where User='root'; #修改root密码
然后改回my.cnf重启mysql #去掉my.cnf加的代码重启即可
mysql -u root -p #输入刚刚修改的密码进入mysql]
#修改mysql登录密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
# 设置允许远程登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
#第一个*是数据库,可以改成允许访问的数据库名称
#第二个 是数据库的表名称,代表允许访问任意的表
#root代表远程登录使用的用户名,可以自定义
#%代表允许任意ip登录,如果你想指定特定的IP,可以把%替换掉就可以了
#password代表远程登录时使用的密码,可以自定义
#flush privileges;这是让权限立即生效
flush privileges; #刷新权限
exit; #退出
vi /etc/my.cnf #打开文件
#[mysqld]下添加下面代码
character_set_server=utf8
init_connect='SET NAMES utf8'
service mysqld restart #重启
show variables like '%character%'; #进入mysql,显示编码是否为utf8
systemctl start firewalld #开启防火墙
#开启端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
mysqld.log文件
my.conf
登录阿里云服务器控制台,添加规则
使用mysql连接工具连接
mysql相关设置
#查看 mysql 初始的密码策略
SHOW VARIABLES LIKE 'validate_password%';
#只验证密码的长度
set global validate_password_policy=LOW;
#设置密码长度
set global validate_password_length=6;
关于 mysql 密码策略相关参数;
1)、validate_password_length 固定密码的总长度;
2)、validate_password_dictionary_file 指定密码验证的文件路径;
3)、validate_password_mixed_case_count 整个密码中至少要包含大/小写字母的总个数;
4)、validate_password_number_count 整个密码中至少要包含阿拉伯数字的个数;
5)、validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
关于 validate_password_policy 的取值:
0/LOW:只验证长度;
1/MEDIUM:验证长度、数字、大小写、特殊字符;
2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
6)、validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;