Nginx服务配置篇·第二课:Wordpress部署安装

前景概要:

上一篇文章我们配置好Nginx以及PHP环境后,这一片就可以直接进行Wordpress的安装了,打造你的第一个博客网站。

为什么推荐Wordpress?

虽然Wordpress比较臃肿,对新手不算特别友好,界面什么都要自己设计排版,对我来说就是该有的都有,没有的它也能有,以后拓展些其他的新花样儿还是很有意思的,无限折腾~

下面就开始吧。

操作环节:

第一步:上传wordpress程序到网站目录

这边以 /var/www/wordpress目录为例

方法1:本地下载后通过SSH软件上传到服务器

方法2:直接使用命令

wget https://cn.wordpress.org/latest-zh_CN.zip
mv latest-zh_CN.zip /var/www
cd /var/www
unzip latest-zh_CN.zip

添加访问权限:

chown -R www-data:www-data /var/www/wordpress
chmod -R 755 /var/www/wordpress

第二步:配置wordpress

这里的配置是指Wordpress网站的配站,需要在/etc/nginx/sites-enable/中建立专门用于发布wordpress的配置文件。

这里必须强调的一点是:你想发布任何网站,一定要严谨合理地配置好这个文件,一旦配置不好,网站被黑那是分分钟的事,大多数官方网站会有现成的配置文件给你,wordpress算是例外

通过命令创建并编辑:(也可在本地创建修改后上传到目录)

vim /etc/nginx/sites-enable/wordpress.conf

这边直接给出标准的配置文件(找了很多个论坛后在某个角落找到的),根据自己的情况进行更改。

server {
	listen 80;
	listen [::]:80;
	root /var/www/wordpress;
	server_name example.com;
	index index.php index.html index.htm;
	location / {
		try_files $uri $uri/ =404;
	}
	return 301 https://$server_name$request_uri;
}

server {
	listen 443      ssl http2;
	listen [::]:443 ssl http2;
	root /var/www/wordpress;
	server_name example.com;
	index index.php index.html index.htm;
	
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
	ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256    :ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256;
	ssl_certificate     /xxx/xxx/example.pem;	#修改你的证书目录
	ssl_certificate_key /xxx/xxx/example.pem;	#修改你的证书目录
 
	add_header Referrer-Policy                      "no-referrer"   always;
	add_header X-Content-Type-Options               "nosniff"       always;
	add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

	location = /favicon.ico {
		log_not_found off;
		access_log off;
	}

	location = /robots.txt {
		allow all;
		log_not_found off;
		access_log off;
	}
 
	location ~ /\. {
		deny all;
	}
 
	location ~* /(?:uploads|files)/.*\.php$ {
		deny all;
	}

	location / {
		try_files $uri $uri/ /index.php?$args;
	}
 
	location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
		expires max;
		log_not_found off;
	}

	location /wordpress {
		try_files $uri $uri/ /wordpress/index.php?$args;
	}
 
    location ~ \.php$ {
		include fastcgi.conf;
		fastcgi_pass   127.0.0.1:9000;
		fastcgi_index  index.php;
		fastcgi_split_path_info ^(.+\.php)(/.+)$;
		fastcgi_param PATH_INFO $fastcgi_path_info;
		fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

	rewrite /wp-admin$ $scheme://$host$uri/ permanent;
}

保存后检查一下:

nginx -t

重启服务器:

systemctl restart nginx

第三步:创建数据库

根据第一篇的情况,在已初始化数据库的情况下,创建wordpress数据库,输入以下命令进行创建:

mysql	#进入数据库
use mysql;	#使用mysql数据库
create database wordpress;	#创建数据库名为wordpress
show databases;		#查看是否已经建立完成
exit	#直接退出即可

第四部:安装

浏览器中输入:example.com

点击,现在就开始!

好了,Enjoy吧~

总结

wordpress难就难在配置文件难找,很多使用默认配置搭建的,会有类似上传php文件可以访问的漏洞,很容易服务器被黑。

希望这篇文章有所帮助,谢谢!

相关文章

文章浏览阅读3.7k次,点赞2次,收藏5次。Nginx学习笔记一、N...
文章浏览阅读1.7w次,点赞14次,收藏61次。我们在使用容器的...
文章浏览阅读1.4k次。当用户在访问网站的过程中遇到404错误时...
文章浏览阅读2.7k次。docker 和 docker-compose 部署 nginx+...
文章浏览阅读1.3k次。5:再次启动nginx,可以正常启动,可以...
文章浏览阅读3.1w次,点赞105次,收藏182次。高性能:Nginx ...