wordpress
nginx+php7+mysql 搭建wordpress
下载链接
https://wordpress.org/download/releases/
安装编译所需的环境
yum -y install gcc gcc-c++ cmake openssl-devel pcre-devel wget
下载链接
wget http://nginx.org/download/nginx-1.18.0.tar.gz
解压 nginx-1.18.0.tar.gz 到/usr/local/src/
tar xvf nginx-1.18.0.tar.gz -C /usr/local/src/
进入nginx-1.18.0
cd /usr/local/src/nginx-1.18.0
增加以下内容:
./configure --prefix=/usr/local/nginx --with-pcre --user=daemon --group=daemon --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module
编译:
make -j8 && make install
建立软连接(快捷方式)
ln -s /usr/local/nginx/sbin/nginx /usr/sbin/
语法测试
[aaa@qq.com nginx-1.18.0]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
nginx 启动nginx
nginx -s reload 重置
cd /usr/local/nginx/conf/ng
-查看80端口当时是被谁监听
[aaa@qq.com nginx]# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 8673 root 6u IPv4 30064 0t0 TCP *:http (LISTEN)
nginx 8718 daemon 6u IPv4 30064 0t0 TCP *:http (LISTEN)
nginx 8719 daemon 6u IPv4 30064 0t0 TCP *:http (LISTEN)
防火墙放行80端口
[aaa@qq.com nginx]# firewall-cmd --permanent --add-port=80/tcp
success
[aaa@qq.com nginx]# firewall-cmd --reload
success
日志目录
/usr/local/nginx/logs
#################################################################################
php安装
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
清空缓存
[aaa@qq.com nginx]# yum clean all
已加载插件:fastestmirror
正在清理软件源: base epel extras remi-safe updates
Cleaning up list of fastest mirrors
安装php74
yum install php74 php74-php-fpm php74-php-gd php74-php-json php74-php-mbstring php74-php-mysqlnd php74-php-xml php74-php-xmlrpc php74-php-opcache php74-php-devel -y
nginx+php74配置
[aaa@qq.com nginx]# egrep -v "#|^$" conf/nginx.conf
user daemon;
worker_processes 2;
error_log logs/error.log info;
pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;
sendfile on;
keepalive_timeout 65;
gzip on;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
启动php74
[aaa@qq.com nginx]# systemctl start php74-php-fpm.service
查看启动php74 是否成功
[aaa@qq.com nginx]# systemctl status php74-php-fpm.servic
● php74-php-fpm.service - The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/php74-php-fpm.service; disabled; vendor preset: disabled)
Active: active (running) since 六 2020-06-06 18:07:40 CST; 3s ago
Main PID: 9078 (php-fpm)
Status: "Ready to handle connections"
CGroup: /system.slice/php74-php-fpm.service
├─9078 php-fpm: master process (/etc/opt/remi/php74/php-fpm.conf)
├─9079 php-fpm: pool www
├─9080 php-fpm: pool www
├─9081 php-fpm: pool www
├─9082 php-fpm: pool www
└─9083 php-fpm: pool www
6月 06 18:07:40 abc.com systemd[1]: Starting The PHP FastCGI Process Manager...
6月 06 18:07:40 abc.com systemd[1]: Started The PHP FastCGI Process Manager.
访问
http://2.1.1.121/index.php
显示以下为成功
#################################################################################
安装mariadb(mysql)数据库
yum install mariadb mariadb-server mariadb-devel -y
开启mysql
[aaa@qq.com nginx]# systemctl start mariadb.service
查看MySQL是否开启成功
[aaa@qq.com nginx]# systemctl status mariadb.service
● mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
Active: active (running) since 六 2020-06-06 18:16:20 CST; 6s ago
Process: 9620 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=0/SUCCESS)
Process: 9534 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
Main PID: 9618 (mysqld_safe)
设置开机重启
[aaa@qq.com nginx]# systemctl enable mariadb.service
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/maria
安装完mysql-server 会提示可以运行mysql_secure_installation。运行mysql_secure_installation会执行几个设置:
--为root用户设置密码
--删除匿名账号
--取消root用户远程登录
--删除test库和对test库的访问权限
--刷新授权表使修改生效
通过这几项的设置能够提高mysql库的安全。
建议生产环境中mysql安装这完成后一定要运行一次mysql_secure_installation,相关操作如下:
[aaa@qq.com nginx]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none): #初次运行直接回车
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] y #是否设置root用户密码,输入y并回车或直接回车
New password: <<<-----设置root密码
Re-enter new password: <<<-----确认密码
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y #是否删除匿名用户,生产环境建议删除
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y #是否禁止root远程登录,根据自己的需求选择Y/n并回车,建议禁止
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y #是否删除test数据库,直接回车
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y #是否重新加载权限表,直接回车
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
登录mysql
[aaa@qq.com nginx]# mysql -uroot -p123qwe
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 5.5.65-MariaDB MariaDB Server
创建库
MariaDB [(none)]> create database word default charset utf8;
Query OK, 1 row affected (0.00 sec)
授权库和用户
MariaDB [(none)]> grant all on word.* to aaa@qq.com'localhost' identified by '1230123';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> grant all on word.* to aaa@qq.com' identified by '1230123';
Query OK, 0 rows affected (0.00 sec)
刷新生效
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
查看库
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| word |
+--------------------+
4 rows in set (0.00 sec)
#################################################################################
进入wordpress官网下载
https://wordpress.org/download/
wget https://wordpress.org/wordpress-5.4.1.zip
解压
tar xvf wordpress-5.4.1.tar.gz
创建新目录
mkdir /data/abc/ -p
拷贝wordpress到 /data/abc/
cp -a wordpress/* /data/abc/
给/data/abc/授权用户组的权限
chown -R daemon:daemon /data/abc/
word博客完整配置
[aaa@qq.com abc]# egrep -v "#|^$" /usr/local/nginx/conf/nginx.conf
user daemon;
worker_processes 2;
error_log logs/error.log info;
pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;
sendfile on;
keepalive_timeout 65;
gzip on;
server {
listen 80;
server_name localhost;
location / {
root /data/abc; <<<---网站目录
index index.php index.html index.htm;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
root /data/abc; <<<---网站目录
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
配置完之后,访问 http://2.1.1.120 登录到WordPress
输入数据库创建的用户名 密码
安装过程如需要添加内容,去/data/abc/下创建wp-config.php 文件
vim wp-config.php 添加一下内容
<?php
/**
* The base configuration for WordPress
*
* The wp-config.php creation script uses this file during the
* installation. You don't have to use the web site, you can
* copy this file to "wp-config.php" and fill in the values.
*
* This file contains the following configurations:
*
* * MySQL settings
* * Secret keys
* * Database table prefix
* * ABSPATH
*
* @link https://wordpress.org/support/article/editing-wp-config-php/
*
* @package WordPress
*/
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'word' );
/** MySQL database username */
define( 'DB_USER', 'user_0' );
/** MySQL database password */
define( 'DB_PASSWORD', '123123' );
/** MySQL hostname */
define( 'DB_HOST', 'localhost' );
/** Database Charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8mb4' );
/** The Database Collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );
/**#@+
* Authentication Unique Keys and Salts.
*
* Change these to different unique phrases!
* You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
* You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
*
* @since 2.6.0
*/
define( 'AUTH_KEY', '.(=N{0qG8H~B~7SKFxMRJjT:c {)dWvVST#,->aaa@qq.com?ofx-M]iCO.~K)SSXEj$D<' );
define( 'SECURE_AUTH_KEY', 'UVTt`8dOkilQltwX6l*=f$?<EWe:l4v]~6ozA_4qwE`to bPXDT`|?81M pCrA&(' );
define( 'LOGGED_IN_KEY', 'I$}o~mj:co` 2;z{_9dJjJIG)t)G#w1nTYD0Kp%H)i/*(lj77DSKyUja&,1j9d[v' );
define( 'NONCE_KEY', 'RhV**=0:Hsf7$ny[W.w^U>+R151nlf1IZ;vbra,-v&&H-#H2r<JZpy|{EX=n h]S' );
define( 'AUTH_SALT', 'K;ut:0?[(HH`aaa@qq.com^}UWs3mVBuX&]wJM5#PE?NIqA<~dmL+6y]:dyN)<YQj:[' );
define( 'SECURE_AUTH_SALT', ']Tb2Pn(fC,bt,*Ug!P8Ub:;G%>ZA&L3eK$BO|m/Qapck8ILJgM,`7*WbPj`{c|5B' );
define( 'LOGGED_IN_SALT', 'kkU.>3tpoyU /@y0P:j/4g3xH$Um.7O}x`G_LS4!jE$RjK*_g8a,kim$ O6 `ZL5' );
define( 'NONCE_SALT', ']4o :EJJD#:^D6]{L(oNcLb}zctw`ft8I[<5wd&{T[aaa@qq.com?(C]{0<,@|vYnb' );
/**#@-*/
/**
* WordPress Database Table prefix.
*
* You can have multiple installations in one database if you give each
* a unique prefix. Only numbers, letters, and underscores please!
*/
$table_prefix = 'js';
/**
* For developers: WordPress debugging mode.
*
* Change this to true to enable the display of notices during development.
* It is strongly recommended that plugin and theme developers use WP_DEBUG
* in their development environments.
*
* For information on other constants that can be used for debugging,
* visit the documentation.
*
* @link https://wordpress.org/support/article/debugging-in-wordpress/
*/
define( 'WP_DEBUG', false );
/* That's all, stop editing! Happy publishing. */
/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {
define( 'ABSPATH', __DIR__ . '/' );
}
/** Sets up WordPress vars and included files. */
require_once ABSPATH . 'wp-settings.php';
安装完毕后直接登录即可
上一篇: java web获取文件路径相关
下一篇: 560. 和为K的子数组
推荐阅读
-
Linux XAMPP下启用WordPress的自定义文件名(伪静态)功能
-
五大免费wordpress数据备份方法——手动 自动备份都有
-
最快WordPress主机挑选指南
-
在SAE(Sina App Engine)上部署WordPress站点的教程
-
详解WordPress开发中get_header()获取头部函数的用法
-
WordPress主题制作中自定义头部的相关PHP函数解析
-
详解WordPress开发中用于获取分类及子页面的函数用法
-
完美实现wordpress禁止文章修订和自动保存的方法
-
独立域名的英文博客从WordPress切换到Blogger的步骤
-
wordpress网站外链nofollow以及域名是否www的区别