怎么用WordPress给自己搭建了一个网站?可能很多人都想拥有属于自己的网站,这篇文章就找你怎么利用WordPress搭建属于自己的网站。如果你也正好有搭建个人网站的想法,那么本文会给你一个参考,我尽量写的比较详细,给自己做一个记录,也给大家一个参考。
在教程之前,先给大家show 一下效果,欢迎你去点点点~
网站地址:https://zhangfeidezhu.com
在开始搭建网站之前,当然第一步是购买一个属于自己的 『服务器』。
你可以选择如下渠道进行购买:阿里云、腾讯云、Ucloud等的大厂服务器,不要贪图便宜去买国外的服务器厂商,因为速度很慢很多,很影响体验。
我的就是在腾讯云上购买的,刚开始买个最低配置的服务器就行,以后不够用了,可以慢慢升级,扩容。可以先领个券,再购买更实惠:点击领券
买了服务器后,你就会拥有一个公网ip,如果网站搭建起来了,你完全可以使用这个 ip 去访问,但仅供开发、测试使用。
如果要真正运营起来,想要有流量,还得搞一个域名,方便你推广。
域名的购买建议和上面服务器使用同一个厂商,可以省去一些麻烦。比如阿里云购买的域名要备案是需要你在阿里云下有一台服务器的。
由于后面我使用的是手工部署的方式,所以要登陆服务器进行操作。
登陆的方法有两种:
部署方式,可分为两种
那么如何选择呢?
在这里建议大家跟着我使用第二种方法,也就是手工使用脚本进行部署,更精细的部署步骤会让你对WordPress的运作方式有更深的理解,比如使用了哪些软件,装了哪些包?自己搭建了网站,难免以后会碰到各种各样的服务器问题,尽早的接触Linux,熟悉各项配置,对以后的运维工作会有很有帮助。
LNMP是Linux+Nginx+MySQL+PHP组合的简写。
类似的组合还有:
LAMP的全称是Linux+Apache+MySQL+PHP
LNAMP的全称是Linux+Nginx+Apache+MySQL+PHP
这些软件一个一个安装比较费力,特别是数据库。有人把这些软件的安装部署过程集成为一个Shell脚本,只要下载并执行它就可以直接安装了。
下载LNMP安装脚本(版本查看:https://lnmp.org/download.html)
wget http://soft.vpser.net/lnmp/lnmp1.9.tar.gz -cO lnmp1.9.tar.gz
解压并执行它
tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh lnmp
接下来会出现大量的选项,如果你不是很懂各个选项间的区别,按默认就行。
运行脚本后,首先会让你选择数据库的版本,没有特殊需要,建议使用默认配置,直接回车或输入序号再回车。
选好数据库,会让你设置数据库root用户的密码,此时如果你直接回车,会默认设置为lnmp.org#随机数字,在输入密码的时候,对于新手有一点注意:如果输入有错误需要删除,需要按住Ctrl再按Backspace键进行删除。密码输好后,回车进入下一步
询问是否需要启用MySQL的InnoDB,InnoDB引擎默认为开启,一般建议开启,直接回车或输入y。如果确定确实不需要该引擎可以输入n,(MySQL5.7+版本无法关闭InnoDB),输入完成,回车进入下一步;
选择PHP版本,建议安装PHP7+的版本,回车进入下一步;
选择是否安装内存优化:可以选择不安装、Jemalloc或TCmalloc,输入对应序号回车,直接回车为默认为不安装。
如果是LNMPA或LAMP的话还会提示设置邮箱和选择Apache:"Please enter Administrator Email Address:";
设置管理员邮箱,该邮箱会在报错时显示在错误页面上。再选择Apache版本:按提示输入对应版本前面的数字序号,回车。
提示"Press any key to install…or Press Ctrl+c to cancel"后,按回车键确认开始安装。
LNMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin等软件及相关的组件。安装时间可能会几十分钟到几个小时不等,主要是机器的配置网速等原因会造成影响。
如果显示“Nginx: OK,MySQL: OK,PHP: OK”,表明安装成功。
最后几行的输出
安装好后,使用如下指令查看nginx配置文件(如果你的服务器上找不到该文件,那请使用 find / -name nginx.conf 搜索一下)
cat /usr/local/nginx/conf/nginx.conf
你会看到如下内容:
上图表明,安装好的nginx将网站的根目录设置为/home/wwwroot/default,这个可以根据自己的喜好进行修改。
用浏览器打开http://ip,可以看到如下内容(如果访问不了,有可能是你服务器的安全组没有开放80端口,去控制台开放一下即可)
其实这就是一个简单的网页demo了,自己随便修改index.html,就会有不同的内容。
WordPress是使用PHP语言开发的博客平台,也就是一个博客框架,上一步安装的LNMP,只是保证了WordPress的基本运行环境,
想要把你的个人网站跑起来,咱还需要安装WordPress。方法也很简单,下面跟着操作就行。
wget https://cn.wordpress.org/latest-zh_CN.zip && unzip latest-zh_CN.zip -d /home/wwwroot
$ mysql -u root -p
Enter password:
MySQL > create database wordpress;
$ vim /usr/local/nginx/conf/nginx.conf
找到网站根目录位置,如下图所示:
修改成如下内容:
随后,使用:wq保存配置退出即可。
验证nginx是否有配置错误:
nginx -t
如果出现ok,successful字样,说明没有错误。没有错误,重新加载nginx:
$ nginx -s reload
修改wordpress目录权限:
cd /home/wwwroot && chown -R www wordpress/ && chgrp -R www wordpress/
用浏览器打开http://ip/wp-admin/setup-config.php,你可以看到如下内容:
现在就开始,进行安装。填写信息如下:
其中,*** 改为你设置的MySQL数据库密码。点击提交,出现如下内容:
在/home/wwwroot/wordpress下,创建并编写wp-config.php文件:
$ vim wp-config.php
将上图内容复制进去并:wq保存退出,然后点击现在安装。最后就是配置用户信息了,这个是你登录wordpress用户后台的,要记住:
最后点击安装WordPress,安装成功会出现如下界面:
点击登录,输入账户密码,就可以登录自己的 wordpress 后台了。
这时候你使用浏览器去访问http://ip,就可以看到你搭建的第一个网站了。
此时你看到的这个网站,是wordpress默认为你安装的免费主题(应该有三个),可能并不是那么的好看,但没关系,后面你可以自己挑选一个自己合适的主题,把你的网站装扮得有模有样。
到这里,你的网站部署已经全部完成,但是还差最后一步,也是使用WordPress最为核心的一步:让你的网站看起来更加专业,更加成熟。
为此我们需要做两件事:
同样都使用的WordPress的网站,外观上却天差地别。有的很酷炫,有点很简约,这是因为选了不同的主题。在你安装完WordPres后,本身就自带了几个免费的主题。几乎没人会使用它们,因为有点丑。在WordPress的自带了主题商店,里面有大量的免费主题,各式各样的都有,可能有你喜欢的。
你也可以通过搜索引擎找到了一个你喜欢的主题,甚至自己开发一个主题,开发主题可以自己百度,都到了开发这个程度,应该就不用我这里教了。
前期不用安装太多的插件,基本够用就行,下面列举一下比较常用:
要部署https,首先要去有资质的平台申请证书,如百度云,腾讯云等,这里我选择腾讯云。
然后按流程一直点击下一步,知道申请成功,然后再证书管理里面,下载到本地后,你会得到一个zip包,解压一下,就可以看到证书文件及私钥。
因为这里使用的是Nginx,因此获取Nginx下的两个文件上传到我的服务器上的nginx目录下。
先使用 find 命令查找一下你的 nginx.conf 路径
$ find / -name nginx.conf
/usr/local/nginx/conf/nginx.conf
你的证书文件可以和nginx.conf放在同一目录下
/usr/local/nginx/conf
接下来使用vim编辑该文件,找到server,添加如下行。
server
{
listen 443 ssl;
# 注释掉该行
# listen 80 default_server reuseport;
#证书文件名称
ssl_certificate 1_iswbm.com_bundle.pem;
#私钥文件名称
ssl_certificate_key 0_iswbm.com.key;
...
}
最后重启nginx
$ systemctl restart nginx
尝试用https访问一下我的网站https://zhangfeidezhu.com ,成功了。
到了这里,还差最后一步,重写http到https,也就是使用http访问你的网站,会跳转到https访问。这里很简单修改一下nginx.conf就好。
##这里是将http默认的80端口重定向到https
server
{
listen 80;
server_name zhangfeidezhu.com;
return 301 https://zhangfeidezhu.com$request_uri;
}
## https
server
{
listen 443 ssl http2;
ssl_certificate zhangfeidezhu.com_bundle.crt;
ssl_certificate_key zhangfeidezhu.com.key;
server_name _;
index index.html index.htm index.php;
root /home/wwwroot/wordpress;
}
这里后台再设置一下就大功告成了。
在Ruby中可以使用哪些替代方法来ping一个ip地址?标准库“ping”库的功能似乎非常有限。我对在这里滚动我自己的代码不感兴趣。有没有好的gem?我应该接受它并忍受它吗?(我在Linux上使用Ruby1.8.6编写代码) 最佳答案 net-ping值得一看。它允许TCPping(如标准rubyping),但也允许UDP、HTTP和ICMPping。ICMPping需要root权限,但其他则不需要。 关于ruby-Pingruby网站?,我们在StackOverflow上找到一个类
是否有self验证的问题列表。看着那个,我可以确定我知道。我应该复习一下。在学习的过程中,我列了一个这样的list,但它只包含我在某处听说过的项目。我需要一段时间才能找到新的东西。 最佳答案 以下是针对ruby和Rails的一些测试列表。证书名称:RubyonRails谁提供:oDeskIncorporation认证费用:免费网站:https://www.odesk.com/tests/985?pos=0证书名称:RubyonRails提供者:Techgig.com(TimesBusinessSolutionsLimited(T
我需要从站点抓取数据,但它需要我先登录。我一直在使用hpricot成功地抓取其他网站,但我是使用mechanize的新手,我真的对如何使用它感到困惑。我看到这个例子经常被引用:require'rubygems'require'mechanize'a=Mechanize.newa.get('http://rubyforge.org/')do|page|#Clicktheloginlinklogin_page=a.click(page.link_with(:text=>/LogIn/))#Submittheloginformmy_page=login_page.form_with(:act
我正在运行rspec测试以确保两个模型通过has_many和belongs_to相互关联。下面是我的测试。describe"testingforhasmanylinks"dobeforedo@post=Post.new(day:"Day1",content:"Test")@link=Link.new(post_id:@post.id,title:"google",url:"google.com")endit"inthepostmodel"do@post.links.first.url.should=="google.com"endend测试告诉我url是一个未定义的方法。我的测试有什么
网站的日志分析,是seo优化不可忽视的一门功课,但网站越大,每天产生的日志就越大,大站一天都可以产生几个G的网站日志,如果光靠肉眼去分析,那可能看到猴年马月都看不完,因此借助网站日志分析工具去分析网站日志,那将会使网站日志分析工作变得更简单。下面推荐两款网站日志分析软件。第一款:逆火网站日志分析器逆火网站日志分析器是一款功能全面的网站服务器日志分析软件。通过分析网站的日志文件,不仅能够精准的知道网站的访问量、网站的访问来源,网站的广告点击,访客的地区统计,搜索引擎关键字查询等,还能够一次性分析多个网站的日志文件,让你轻松管理网站。逆火网站日志分析器下载地址:https://pan.baidu.
如何使用rubyonrails获取网络上某处其他网站的页面数据? 最佳答案 您可以使用httparty只是获取数据示例代码(来自example):requireFile.join(dir,'httparty')require'pp'classGoogleincludeHTTPartyformat:htmlend#google.comredirectstowww.google.comsothisislivetestforredirectionppGoogle.get('http://google.com')puts'','*'*7
我正在研究Ruby解释器是如何实现的,并且出现了一个问题,但我还没有得到答案。这就是标题中的那个:因为Class(r_cClass)将super设置为自身(忽略元类,因为实际上super是r_cClass的元类),如果我向Class对象发送一个方法,这将在Class的方法表中查找'类(class)。但是Class的类是Class,所以我不应该最终寻找Class的实例方法吗?但事实并非如此,因为在文档中Class类方法和Class实例方法是分开的。在Ruby的eval.c中的search_method中,我没有发现对Class类有什么特别的检查。任何人都可以阐明这一点吗?
我设置了属于客户类别的admin_users(客户是一家公司)。所以Customer有很多admin_users。我正在尝试限制对属于特定客户的装运记录的访问。我不希望客户看到其他客户的数据。所以我设置了它,但它似乎什么也没做......类(class)能力包括CanCan::Abilitydefinitialize(user)user||=AdminUser.newifuser.role=="administrator"can:manage,:allelsecannot:create,:allcannot:update,:allcannot:destroy,:allcan:read,
我正在使用RubyonRailsv3.0.9,我想检索我设置了链接的每个网站的favicon.ico图像。也就是说,如果在我的应用程序中我设置了http://www.facebook.com/URL,我想检索Facebook的图标并在我的网页中使用\插入它。当然,我也想为所有其他网站这样做。如何以“自动”方式从网站检索favicon.ico图标(“自动”是指在网站中搜索图标并获取它的链接-我认为不是,因为并非所有网站都有一个名为“favicon.ico”的图标。我想以“自动”方式识别它)?P.S.:我想做的是像Facebook在您的Facebook页面中添加链接\URL时所做的那样:它
编辑:更改了标题。我对两个部分是否相同不太感兴趣,而是如果它们在一定的公差范围内彼此共线。如果是这样,那么这些线应该聚集在一起作为一个单独的线段。编辑:我想有一个简短的说法:我试图以一种有效的方式将相似的线段聚集在一起。假设我有线段f(fx0,fy0)和(fx1,fy1)和g(gx0,gy0)和(gx1,gy1)这些来自计算机视觉算法边缘检测器之类的东西,在某些情况下,两条线基本相同,但由于像素容差而被视为两条不同的线。有几种情况f和g共享完全相同的端点,例如:f=(0,0),(10,10)g=(0,0),(10,10)f和g共享大致相同的端点和大致相同的长度,例如:f=(0,0.01