起因
之前因为阿里云的优惠活动,弄了一台云服务器,但是那时候没有时间弄这个。
后来在本地弄了个docker部署了下wordpress,用内网穿透玩了一下就不了了之了。3
最近想了想,还是正式的搭建一下吧,并且记录一下网站的搭建过程。
整体介绍
现在搭建一个网站太方便了,只需要挑选合适的服务就好了,然后花钱。
1 阿里云ECS 镜像选择CentOS 8.0 64位
2 wordpress-5.6-zh_CN
3 LNMP 1.7一键包 L:Linux | N:Nginx | M:MySQL | P: PHP 官网:https://lnmp.org/
3.1 MySQL 5.7.30
3.2 PHP 7.2
3.3 Nginx 1.8
CentOS环境部署
首先整一台服务器,无论是vps还是什么云,选择个镜像,整好以后登录上来安装环境。
我是用的SSH,需要开启22端口,检查防火墙有没有把这个端口墙掉或者云安全规则。
安装LNMP
我这里用的是LNMP1.7版本的一键包,地址是 https://lnmp.org/
也可以参照LNMP官网的安装教程,也可以不使用LNMP,每个组件单独安装。
安装时间比较长,所以使用screen会话
screen -S lamp
如果没有screen的话先安装一下
yum -y install screen
安装LNMP
wget http://soft.vpser.net/lnmp/lnmp1.7.tar.gz -cO lnmp1.7.tar.gz && tar zxf lnmp1.7.tar.gz && cd lnmp1.7 && ./install.sh lnmp
如果没有wget的话先安装一下
yum -y install wget
运行上述LNMP安装命令后,会出现如下提示:
选择4 MySQL5.7版本
设置MySQL的root密码(为了安全不输入直接回车将会设置为lnmp.org#随机数字)如果输入有错误需要删除时,可以按住Ctrl再按Backspace键进行删除(个别情况下是只需要Backspace键)。输入后回车进入下一步,如下图所示:
询问是否需要启用MySQL InnoDB,InnoDB引擎默认为开启,一般建议开启,直接回车或输入 y ,进入下一步。
选择8 PHP 7.2版本
选择不安装,直接回车为默认为不安装。
提示"Press any key to install...or Press Ctrl+c to cancel"后,按回车键确认开始安装。
LNMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin等软件及相关的组件。
安装时间可能会几十分钟到几个小时不等,主要是机器的配置网速等原因会造成影响。我这里用了半个多小时。
安装完成:
卸载
- 卸载LNMP、LNMPA或LAMP可执行:
./uninstall.sh
按提示选择即可卸载。
状态管理
- LNMP/LNMPA/LMAP状态管理:
lnmp {start|stop|reload|restart|kill|status}
- Nginx状态管理:
lnmp nginx或/etc/init.d/nginx {start|stop|reload|restart}
- MySQL状态管理:
lnmp mysql或/etc/init.d/mysql {start|stop|restart|reload|force-reload|status}
- MariaDB状态管理:
lnmp mariadb或/etc/init.d/mariadb {start|stop|restart|reload|force-reload|status}
- PHP-FPM状态管理:
lnmp php-fpm或/etc/init.d/php-fpm {start|stop|quit|restart|reload|logrotate}
- PureFTPd状态管理:
lnmp pureftpd或/etc/init.d/pureftpd {start|stop|restart|kill|status}
- Apache状态管理:
lnmp httpd或/etc/init.d/httpd {start|stop|restart|graceful|graceful-stop|configtest|status}
目录位置
- Nginx:/usr/local/nginx/
- MySQL:/usr/local/mysql/
- MariaDB:/usr/local/mariadb/
- PHP:/usr/local/php/
- 多PHP目录:/usr/local/php5.6/ 版本号随安装版本不同而不同
- PHP扩展插件配置文件目录:/usr/local/php/conf.d/
- PHPMyAdmin:/home/wwwroot/default/phpmyadmin/
- 默认虚拟主机网站目录:/home/wwwroot/default/
- Nginx日志目录:/home/wwwlogs/
配置文件:
- Nginx主配置文件:/usr/local/nginx/conf/nginx.conf
- MySQL/MariaDB配置文件:/etc/my.cnf
- PHP配置文件:/usr/local/php/etc/php.ini
- PHP-FPM配置文件:/usr/local/php/etc/php-fpm.conf
- PureFtpd配置文件:/usr/local/pureftpd/etc/pure-ftpd.conf
- Apache配置文件:/usr/local/apache/conf/httpd.conf
相关图形界面
- PHPMyAdmin:http://yourIP/phpmyadmin/
- phpinfo:http://yourIP/phpinfo.php
- PHP探针:http://yourIP/p.php
- Xcache管理界面:http://yourIP/xcache/
- Zend Opcache管理界面:http://yourIP/ocp.php
- apcu管理界面:http://yourIP/apc.php
安装完成之后这些组件应该都启动了,
可以通过ps命令查看下,服务有没有启动,或者验证一下安装是否正常,不过一般都是没问题的。
创建MySQL数据库
新建一个MySQL数据库,给wordPress用。
create myblob;
show databases;
也可以新建MySQL用户,这里就直接使用root用户了。
修改Nginx配置文件
修改以下文件:
/usr/local/nginx/conf/nginx.conf
主要是把root这里改为指向wordpress的文件夹。
重启Nginx
lnmp nginx restart
安装wordpress
从wordpress官网下载压缩包
将wordpress-5.6-zh_CN.tar.gz
上传至服务器
cd /home/domaintest/ykuee.link
tar -zxvf wordpress-5.6-zh_CN.tar.gz
mv wordpress/* .
为避免因权限的问题导致安装出错,比如wp-config.php无法创建、需要提供FTP用户密码以及主题和插件不能更新等,建议赋予网站根目录文件的可写权限。
chmod -R 755 /home/
domaintest
这时候就可以用浏览器访问wordpress来初始化了。
浏览器访问ip或者域名可以看到安装提示 这里也是,注意防火墙规则,安全规则等是否开启端口
*.*.*.*\readme.html
访问这个安装的连接,数据库就填刚刚创建的那个就可以。
至此,就搭建完成了,剩下的功能就可以自己探索了。
配置HTTPS
今天申请了下ssl证书,主要参考了阿里云的手册。
直接通过域名生成了证书。
证书下载以后,因为我这里是通过Nginx搭建的网站,所以需要配置下Nginx。
解压已下载保存到本地的Nginx证书压缩包文件。
登录您的Nginx服务器,在Nginx安装目录(默认为/usr/local/nginx/conf)执行以下命令,创建cert目录:
cd /usr/local/nginx/conf #进入Nginx默认安装目录。此处为Nginx默认安装目录,请您根据实际配置情况操作。
mkdir cert #创建cert证书目录。
使用远程登录工具(例如PuTTY或者Xshell)附带的本地文件上传功能,将下载的证书文件和密钥文件上传到Nginx服务器的cert目录下。
修改Nginx的config
#以下属性中以ssl开头的属性代表与证书配置有关,其他属性请根据自己的需要进行配置。
server {
listen 443 ssl; #配置HTTPS的默认访问端口号为443。此处如果未配置HTTPS的默认访问端口,可能会造成Nginx无法启动。Nginx 1.15.0以上版本请使用listen 443 ssl代替listen 443和ssl on。
server_name www.certificatestests.com; #将www.certificatestests.com修改为您证书绑定的域名,例如:www.example.com。如果您购买的是通配符域名证书,要修改为通配符域名,例如:*.aliyun.com。
root html;
index index.html index.htm;
ssl_certificate cert/domain name.pem; #将domain name.pem替换成您证书的文件名称。
ssl_certificate_key cert/domain name.key; #将domain name.key替换成您证书的密钥文件名称。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置。
ssl_prefer_server_ciphers on;
location / {
root html; #站点目录。
index index.html index.htm;
}
}
Nginx添加配置,主要是为了让http重定向至https
server {
listen 80 default_server reuseport;
server_name 80ykuee.link;
rewrite ^(.*)$ https://$host$1 permanent;
}
Comments | 2 条评论
博主 Chihilo
(๑•̀ㅂ•́)و✧
博主 Ykuee
@Chihilo !