关于环境:
bash
#最小化安装后开网
vi /etc/sysconfig/network-scripts
onboot——>yes
systemctl start network
#防火墙关闭
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
#bash补全
yum -y install bash-completion #之后要bash一下刷新参数,使之生效
#wget等工具下载
yum -y install wget unzip
#我们在Centos下使用yum安装时往往找不到rpm的情况,官方的rpm repository提供的
#rpm包也不够丰富,很多时候需要自己编译很痛苦,而EPEL恰恰可以解决这两方面的问题
yum -y install epel-release
#更新yum源
yum -y update
#安装nginx使能,安装php
yum -y install nginx
systemctl enable nginx #设置nginx服务开机自启动
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 #安装相关yum源
yum -y install php72w-tidy php72w-common php72w-devel php72w-pdo php72w-mysqlnd php72w-gd php72w-ldap php72w-mbstring php72w-mcrypt php72w-fpm php-redis #安装php相关包
systemctl enable php-fpm.service #设置php服务开机自启动
systemctl start php-fpm.service #启动php服务
#安装熟悉的编辑工具,如vim
yum -y install vim
配置NGINX文件
bash
#编辑nginx配置文件(编辑前可以先进行备份)
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
vim /etc/nginx/nginx.conf
server {
listen 80; #如80端口修改为 8090
listen [::]:80; #如80端口修改为 8090
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 5503 504 /50x.html;
location = /50x.html {
}
#红色部分为需要增加的内容
location / {
root /usr/share/nginx/html;
index index.php index.html index.htm;
}
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
}
#检查配置文件是否有问题,注意大括号的层级关系
nginx -t -c /etc/nginx/nginx.conf #返回OK successful
systemctl start nginx
nginx常见配置问题
bash
#nginx: [emerg] bind() to 0.0.0.0:8090 failed (13: Permission denied)尝试
vim /etc/selinux/config
reboot
systemctl status nginx
#验证服务是否开启IP:8090
着手部署wordpress
bash
cd /usr/share/nginx/html/
wget https://wordpress.org/wordpress-5.4.10.zip
unzip wordpress-5.4.10.zip
chmod -R 777 wordpress
#修改wordpress配置文件
cd wordpress
cp wp-config-sample.php wp-config.php
mysql数据库服务安装
bash
#下载安装包,如果选用云厂商的RDS即可免于此步骤
#官网下载,社区,选对应的版本。wget。
# 查看是否自带mariadb数据库
yum list installed grep mariadb64
# 卸载mariad
yum list installed grep mariadb_64
cd /usr/local
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.43-linux-glibc2.12-x86_64.tar.gz
tar -xvf mysql-5.7.43-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.43-linux-glibc2.12-x86_64 mysql-5.7
cd mysql-5.7
mkdir conf
cd conf
vim my.cnf
#以下为配置文件内容
bash
[client]
port=3306
[mysql]
default-character-set=utf8
[mysqld]
# MySQL服务器将监听的TCP/IP端口
port=3306
# 安装目录的路径。 通常相对于此解析所有路径。
basedir=/usr/local/mysql-5.7
# 数据库根目录的路径
datadir=/usr/local/mysql-5.7/data
# 创建新模式或表且未定义任何字符集时将使用的默认字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# MySQL服务器允许的最大并发会话数。
# 这些连接中的一个将保留给具有超级权限的用户,以允许管理员登录,即使已达到连接限制。
max_connections=500
# soket文件,本地连接时使用
socket=/usr/local/mysql-5.7/mysql.sock
# 建议禁用符号链接以防止各种安全风险
symbolic-links=0
# 错误日志
log-error=/usr/local/mysql-5.7/logs/mysql_log.log
# pid文件
pid-file=/usr/local/mysql-5.7/mysqld.pid
# 表名不区分大小写
lower_case_table_names=1
# 设置sql_mode
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION## 用户组及初始化
bash
#添加mysql用户名
adduser mysql
#给mysql账户设置密码
passwd mysql
#建工作组
groupadd mysql
#新建用户同时增加工作组
useradd -g mysql mysql #注::-g 所属组 -d 目录 -s 所用的SHELL
#授权
chown -R mysql.mysql /usr/local/mysql-5.7
#初始化
#切换目录
cd /usr/local/mysql-5.7/bin
#初始化配置
./mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql-5.7 --datadir=/usr/local/mysql-5.7/data
#成功root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option
设置开机启动
bash
vim /usr/lib/systemd/system/mysql.service #编辑服务文件
[Unit]
Description=MySQL Server 5.7
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql-5.7/bin/mysqld --defaults-file=/usr/local/mysql-5.7/conf/my.cnf
LimitNOFILE = max_open_files
#加入开机自启动
systemctl enable mysql.service
#服务的启动/停止/刷新配置文件/查看状态
#启动mysql服务
systemctl start mysql.service
#停止服务
systemctl stop mysql.service
#重新启动服务
systemctl restart mysql.service
#查看所有已启动的服务
systemctl list-units --type=service
#查看服务当前状态
systemctl status mysql.service
#设置开机自启动
systemctl enable mysql.service
# 停止开机自启动
systemctl disable mysql.service
#启动时报错Failed to start mysql.service: Unit not found
find / -name mysql.server
cp /usr/local/mysql-5.7/support-files/mysql.server /etc/init.d/mysql
#查找basedir、datadir值,复制至/etc/init.d/mysql
cat /usr/local/mysql-5.7/conf/my.cnf
#basedir=/usr/local/mysql-5.7
#datadir=/usr/local/mysql-5.7/data
vim /etc/init.d/mysql
粘贴
service mysql start
启动连接
bash
#启动mysql服务
systemctl start mysql.service
#连接mysql服务
cd /usr/local/mysql-5.7/bin
./mysql -uroot -h 127.0.0.1 -p
#No database selected
use mysql
show databases;
#设置密码
update user set authentication_string=PASSWORD("kingso616") where user='root';
#刷新
flush privileges;
#设置允许远程登录
update user set host='%' where user='root';
#刷新
flush privileges;
##创建
CREATE DATABASE 数据库名;
drop database 数据库名;
继续修改WP的配置文件
bash
vim /usr/share/nginx/html/wordpress/wp-config.php
bash
define( 'DB_NAME', 'database_name_here' ); #数据库
/** MySQL database username */
define( 'DB_USER', 'username_here' ); #ROOT户名密码
/** MySQL database password */
define( 'DB_PASSWORD', 'password_here' ); #ROOT户名密码
/** MySQL hostname */
define( 'DB_HOST', 'localhost' ); #IP:端口,可以为内网DNS
/** Database Charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );
#此处加三行
define("FS_METHOD","direct");
define("FS_CHMOD_DIR",0777);
define("FS_CHMOD_FILE",0777);
/** The Database Collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );
#重启php、nginx服务
systemctl restart nginx php-fpm
网站带路径
REDIS的安装部署
bash
mkdir /usr/local/redis
cd 之
yum install wget
wget http://download.redis.io/redis-stable.tar.gz
tar -zxvf redis-stable.tar.gz
make #极大概率报错,因无gcc gcc-c++等 install之执行 make clean 后再次 执行 make ,再检查redis-x.x.x/src 目录下有没有 redis-server、redis-cli 和 /usr/local/bin下有没有
#若无,则把redis-x.x.x 文件夹删掉,再解压一次redis的压缩包,cd进入 redis-x.x.x 中, make 一下 即可
#也可能因无python3而报错
#You need tcl 8.5 or newer in order to run the Redis test
wget https://sourceforge.net/projects/tcl/files/Tcl/8.6.13/tcl8.6.13-src.tar.gz
tar -zxvf tc_tab
cd /usr/local/tc_tab/unix/
./configure
make
make install
以上多半会因为gcc版本过低而无法完成test,尝试用以下方式解决
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
make distclean
make install
# redis配置文件
cat redis.conf.bak | grep -v "#" | grep -v "^$" > redis.conf
daemonize #由 no 改成 yes,表示允许 Redis 在后台启动
bind 127.0.0.1 前面添加 # 将其注释掉,默认情况下只允许本地连接,注释掉后外网就可以连接 Redis 了
修改 requirepass 配置,该配置表示登录该 Redis 实例所需的密码
由于上面我们配置了密码登录,这里将 protected-mode 设置为 no 关闭保护模式
redis-server #默认配置启动
redis-server conf/redis-6379.conf # 指定配置文件启动
#以前不好用,大概率起不来,用epel yum 装
yum -y install epel-release
#更新yum源
yum -y update
systemctl start redis
systemctl status redis
systemctl stop redis 停止服务
ps -ef | grep redis 查看reids服务信息
systemctl enable redis redis开机启动
vim /etc/redis.conf
注释 #bind 127.0.0.1
修改 protected-mode no
修改 daemonize yes
增加 requirepass password
systemctl restart redis
WP设置redis插件
bash
#wp先安装插件
执行php -m|grep redis,如返回redis则继续,否则,执行yum -y install php-redis
vim /etc/php.ini 在任意位置增加 extension=redis
vim /usr/share/nginx/html/wordpress/wp-config.php
第二段
define("WP_REDIS_HOST",'10.16.16.136');
define("WP_REDIS_PORT",'6379');
define("WP_REDIS_PASSWORD",'kingso616');