新linux机器安装WordPress
零.安装wget命令
yum -y install wget
零.查看centos版本命令
cat /etc/redhat-release
一.Linux安装Apache服务
1.查看Apache服务安装情况如果有
查看Apache(linux也就是httpd)的所有相关的包都列出来
rpm -qa|grep httpd
[root@VM-0-10-centos home]# rpm -qa|grep httpd
httpd-tools-2.4.37-21.module_el8.2.0+382+15b0afa8.x86_64
httpd-2.4.37-21.module_el8.2.0+382+15b0afa8.x86_64
centos-logos-httpd-80.5-2.el8.noarch
httpd-filesystem-2.4.37-21.module_el8.2.0+382+15b0afa8.noarch
2.如果找到了相关的httpd包则卸载
rpm -e httpd-2.4.6-93.el7.centos.x86_64
rpm -e httpd-tools-2.4.6-93.el7.centos.x86_64
3.安装apache服务
yum install httpd
输入y
4.设置httpd为开机启动项
chkconfig httpd on
5.yum方式安装的Apache相关知识
配置文件 /etc/httpd/conf/httpd.conf 用httpd -t 检查httpd.conf是否正确【出现Syntax OK表示正常】 配置文件默认在 /etc/httpd 目录下 /etc/httpd/conf.d:自己设定apache的参数信息,里面的文件应以xxx.conf结尾的文件,当apache启动的时候,这个文件会自动被读入到主要配置文件当中; /etc/httpd/modules:存放httpd的模块 /etc/httpd/log:记录apache的所有的日志 /etc/httpd/conf/httpd.conf:配置Apache主要权限和功能的文件,是最重要的配置文件 etc/init.d/httpd :启动文件 /var/www/icons:存放(apache、tomcat)网页的图片 存放网页的文件默认在/var/www 目录下 /var/www/html:首页文件存放的目录(/etc/httpd/conf/httpd.conf中默认的目录 DocumentRoot=/var/www/html) /var/www/error:错误信息处理的文件(主机设置错误或者浏览器客户端要求的数据错误,浏览器上显示的错误信息) /var/log/httpd/access_log:默认访问Apache日志文件 /var/log/httpd/error_log:错误日志文件 /var/www/cgi-bin: 存放可执行的CGI(网页程序)程序 /usr/sbin/apachectl:这个apachectl是文件,是apache的主要执行文件,它可以主动检测系统上的一些设置值,可以使启动apache时更简单,相当于apache 的一些管理工具 /usr/bin/htpasswd:登陆网页的时候,会提示输入账号和密码,而apache本身就提供一个最基本的密码保护方式,该密码的产生就是通过这个指令实现的。
参考地址
https://blog.csdn.net/hw478983/article/details/78826108
https://blog.csdn.net/cherish1forever/article/details/14522053
https://www.cnblogs.com/w10234/p/6649040.html
二.Linux安装Mysql
1.删除原MySQL
(1)查看mysql安装情况
rpm -qa | grep mysql
(2)删除相关包
rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64
结束后再次用【rpm -qa | grep mysql】查看安装情况
(3)查询对应的文件夹
whereis mysql
[root@localhost /]# whereis mysql mysql: /usr/bin/mysql /usr/include/mysql [root@localhost lib]# find / -name mysql /data/mysql /data/mysql/mysql
(4)删除相应文件夹
rm -rf /usr/bin/mysql /usr/include/mysql /data/mysql /data/mysql/mysql
使用【whereis mysql】再次验证对应的文件夹是否删除成功
删除mariadb
rpm -pa | grep mariadb
2.安装mysql
(1)下载tar包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
如果下载时间过长可以下载迅雷,先下载 再自行上传到服务器
(2)创建目录/usr/local/mysql/
mkdir /usr/local/mysql/
(3)移动压缩包到/usr/local/mysql/
mv mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz /usr/local/mysql/
(4)进入目录/usr/local/mysql/
cd /usr/local/mysql/
(5)解压得到文件夹
tar -zxvf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
(6)重命名文件夹
mv mysql-8.0.11-linux-glibc2.12-x86_64 mysql8
(7)创建文件夹data,存储文件
cd /usr/local/mysql/mysql8/
mkdir ./data
(8)检查用户组合用户是否存在,如果没有则创建
#查看用户组是存在
cat /etc/group | grep mysql
#查看用户是否存在
cat /etc/passwd |grep mysql
#添加mysql组
groupadd mysql
#添加mysql用户/密码
useradd -r -g mysql mysql
#授权组合用户此目录权限
chown -R mysql.mysql /usr/local/mysql/mysql8/
(9)初始化数据库
#进入/usr/local/mysql8/
cd /usr/local/mysql/mysql8/
#初始化数据库得到密码
./bin/mysqld --user=mysql --basedir=/usr/local/mysql/mysql8/ --datadir=/usr/local/mysql/mysql8/data/ --initialize
报错:./bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
#解决:如果安装mysql出现了以上的报错信息.这是缺少numactl #这个时候如果是Centos yum -y install numactl #ubuntu的就 sudo apt-get install numactl
在控制台找到generated for root@localhost,得到临时密码:i:R,3hN18ckr
2020-09-10T06:57:17.619906Z 0 [System][MY-013169] [Server] /usr/local/mysql/mysql8.0/bin/mysqld (mysqld 8.0.11) initializing of server in progress as process 36413
2020-09-10T06:57:21.578729Z 5 [Note][MY-010454] [Server] A temporary password is generated for root@localhost: i:R,3hN18ckr
2020-09-10T06:57:23.607994Z 0 [System][MY-013170] [Server] /usr/local/mysql/mysql8.0/bin/mysqld (mysqld 8.0.11) initializing of server has completed
(10)vi编辑my.cnf文件
vi /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql/mysql8
datadir=/usr/local/mysql/mysql8/data
socket=/tmp/mysql.sock
character-set-server=utf8i:开始编辑
:wq:保存并退出
如果vi时卡住了,或其他情况以外退出,再vi时会报错,
需要用命令ls -lah 找到意外退出形成的临时文件.my.cnf.swp
并删除即可rm -rf .my.cnf.swp
(11)建立MySQL服务(注意当前路径应该在mysql8,即support-files的根目录)
# 添加Mysql到系统服务 # 若mysqld,以下mysql相应的修改mysqld示
cp -a ./support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --add mysql
# 检查服务是否生效
chkconfig --list mysql
如下,则服务已生效
Note: This output shows SysV services only and does not include native
systemd services. SysV configuration data might be overridden by native
systemd configuration.If you want to list systemd services use 'systemctl list-unit-files'.
To see services enabled on particular target use
'systemctl list-dependencies [target]'.mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
(12)启动服务
# 启动
service mysql start
# 查看启动状态
service mysql status;
#停止mysql服务:service mysql stop
启动报错:Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/data/web-20200325.pid).
解决:编辑/etc/init.d/mysql,找到start模块,添加--user=root到mysqld_safe 即可
echo bindir/mysqld_safe
thenGive extra arguments to mysqld with the my.cnf file. This script
may be overwritten at next upgrade.
datadir" --pid-file="other_args >/dev/null &
wait_for_pid created "mysqld_pid_file_path"; return_value=$?
登陆mysql:mysql -uroot -p,报错:-bash: mysql: command not found解决:ln -s /usr/local/mysql/mysql8/bin/mysql /usr/bin
登陆登陆mysql:mysql -uroot -p,
报错:mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
解决: ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5
(13)登陆mysql
#登陆后输入之前找到的密码
mysql -uroot -p
#修改新密码为:lCwux3quEtoYFTb@@
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'lCwux3quEtoYFTb@';
#刷新权限
flush privileges;
#退出
quit;
(14)设置允许远程登录
#登陆后输入新密码
mysql -uroot -p
#.使用 mysql库
use mysql;
#.查看用户表 :
SELECT `Host`,`User` FROM user;
#.更新用户表 :
UPDATE user SET `Host` = '%' WHERE `User` = 'root' LIMIT 1;
#.强制刷新权限 :
flush privileges;
#退出
quit;
参考地址
https://www.cnblogs.com/yunian139/p/11804965.html
https://www.jianshu.com/p/276d59cbc529
https://blog.csdn.net/qq_42822962/article/details/95399713
https://www.cnblogs.com/kaishirenshi/p/12667004.html
三.安装nginx(nginx没有深入研究,可选)
卸载Nginx
#查看所有RPM包
rpm -qa |grep nginx
#把列出的php包一个一个删除
rpm -e --allmatches --nodeps 包名
#检查是否卸载完
rpm -qa |grep nginx
#或者yum安装方式卸载
yum remove nginx
安装nginx
#添加源
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
#安装
yum install -y nginx
#启动
systemctl start nginx.service
#设置开机自启
systemctl enable nginx.service
安装后输入IP地址或域名显示;Welcome to nginx on Red Hat Enterprise Linux!
nginx重启命令:service nginx restart
nginx停止命令:service nginx stop
修改端口文件
四.安装php
卸载php
#查看所有RPM包
rpm -qa |grep php
#把列出的php包一个一个删除 #rpm -e --allmatches --nodeps php-cli-5.3.3-22
rpm -e --allmatches --nodeps 包名
#检查是否卸载完
php -v
#或者yum安装方式卸载
yum remove php
下载
http://cn2.php.net/downloads.php
可以自己下载到本地后缀为tar.gz然后上传到服务器的/home(或者其他)文件夹下,优点是可以用迅雷之类的比较快
命令下载
wget http://cn2.php.net/distributions/php-7.0.9.tar.gz tar -zxvf php-7.0.9.tar.gz
为了方便重新命名
mv php-7.0.9 php7 cd php7
安装依赖
yum -y install gcc libxml2 libxml2-devel httpd-devel.x86_64 openssl openssl-devel curl-devel libjpeg.x86_64 libpng.x86_64 freetype.x86_64 libjpeg-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64 libjpeg-devel bzip2-devel.x86_64 libXpm-devel gmp-devel icu libicu libicu-devel epel-release php-mcrypt libmcrypt libmcrypt-devel postgresql-devel libxslt-devel
编译参数设置
直接全部复制粘贴运行
./configure
--prefix=/usr/local/php7
--exec-prefix=/usr/local/php7
--bindir=/usr/local/php7/bin
--sbindir=/usr/local/php7/sbin
--includedir=/usr/local/php7/include
--libdir=/usr/local/php7/lib/php
--mandir=/usr/local/php7/php/man
--with-config-file-path=/usr/local/php7/etc
--with-mysql-sock=/var/lib/mysql/mysql.sock
--with-mcrypt=/usr/include
--with-mhash
--with-openssl
--with-mysql=mysqlnd
--with-mysqli=mysqlnd
--with-pdo-mysql=mysqlnd
--with-gd
--with-iconv
--with-zlib
--enable-zip
--enable-inline-optimization
--disable-debug
--disable-rpath
--enable-shared
--enable-xml
--enable-bcmath
--enable-shmop
--enable-sysvsem
--enable-mbregex
--enable-mbstring
--enable-ftp
--enable-gd-native-ttf
--enable-pcntl
--enable-sockets
--with-xmlrpc
--enable-soap
--without-pear
--with-gettext
--enable-session
--with-curl
--with-jpeg-dir
--with-freetype-dir
--enable-opcache
--enable-fpm
--enable-fastcgi
--with-fpm-user=apache
--with-fpm-group=apache
--without-gdbm
--with-mcrypt=/usr/local/lib/libmcrypt
--disable-fileinfo
--with-apxs2=/usr/bin/apxs
--enable-mbstring
编译安装(会等待比较长的时间)
make && make install
配置PHP
这里第二条,按照自己安装的路径,决定是否是/home
cp php.ini-production /usr/local/php7/etc/php.ini
cp /home/php7/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
配置php.ini
vi /usr/local/php7/etc/php.ini
用xftp进入目录
/usr/local/php7/lib/php/extensions/
查看下面的文件名,比如我的是no-debug-non-zts-20151012
也有可能是在/usr/local/lib/php/extensions/no-debug-non-zts-20160303
在php.ini中找到
extension_dir = "./"
修改为:
extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/"
添加php的变量
echo -e '\nexport PATH=/usr/local/php7/bin:/usr/local/php7/sbin:$PATH\n' >> /etc/profile && source /etc/profile
注意路径要和编译配置的目录一样。
配置php_fpm
mkdir -p /var/log/php-fpm/ && mkdir -p /var/run/php-fpm && cd /var/run/ && chown -R root:root php-fpm
修改session
mkdir -p /var/lib/php/session
chown -R apache:apache /var/lib/php
设置开机启动
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on
启动
service php-fpm start
配置Apache解析php文件并自动关联
vi /etc/httpd/conf/httpd.conf
找到:DirectoryIndex index.html
改为:DirectoryIndex index.html index.htm index.php
找到:AddType application/x-gzip .gz .tgz
在该行下面添加:AddType application/x-httpd-php .php
重启Apache:
systemctl restart httpd
在浏览器输入服务器IP地址或者绑定的域名访问即可,html文件下是网站主目录,如果是里面有个文件夹才是主目录可以在配置文件修改主目录路径,或者在IP地址访问后面加上文件夹名字。
https://blog.csdn.net/u010347814/article/details/81502867
https://www.cnblogs.com/houss/p/11296285.html
WORDPRESS 您的站点遇到了致命错误解决方法
// 开启WP_DEBUG模式 define( 'WP_DEBUG', true ); // 开启DEBUG日志,开启后 /wp-content/debug.log 会生成日志文件,调试完记得关闭并清理这个文件 define( 'WP_DEBUG_LOG', true ); // 显示errors and warnings define( 'WP_DEBUG_DISPLAY', true ); @ini_set( 'display_errors', 'On' ); 之后需要改回来
网站会显示出问题所在,如下图就是提示我
����define("FS_CHMOD_DIR", 0777);
����define("FS_CHMOD_FILE", 0777);
参考资料
https://www.cnblogs.com/houss/p/11296285.html