• 从零开始在linux下搭建wordpress博客


    一,准备linux环境
    本地虚拟机可以忽略第一部分

     

    微博以及微信的公共平台现在正火的一塌糊涂。既然博客已经上线,准备把一些过程写一下,省的以后我自己忘了。就当留个纪念吧,好歹花了这么长时间。


    全文的操作环境为debian。其他linux发行版区别不大。


    没有vps的可以在电脑上装个linux虚拟机试试,都一样的。



    登入vps


    Windows下我一直用的是putty,linux下就不多讲了,ssh就行。在linux的shell下输密码是不显示的。


    修改root密码
    1. passwd
    复制代码

    添加新用户


    一天到晚用root进行操作我觉得是件蛮危险的事…
    1. adduser username
    复制代码

    username改成你自己的。


    新用户添加到sudo


    就是给用户添加root权限。
    1. nano /etc/sudoers
    复制代码

    找到User privilege specification,在下面插入一行

    1. username    ALL=(ALL:ALL) ALL
    复制代码

    cntrl+o 写入,cntrl+x退出,也可以直接cntrl+x退出,会提示是否保存修改,输入y保存,cntrl+c取消返回。若系统没安装sudo:

    1. apt-get update
    2. apt-get upgrade
    3. apt-get install sudo
    复制代码

    修改SSH配置文件(谨慎操作)


    ssh的配置文件默认应该在/etc/ssh/ssh_config,ssh默认使用的端口是22,个人认为使用默认端口是不大安全的。由于1024以下的端口是被linux系统占用的,所以我们改个1025到65536就好。打开配置文件

    1. nano /etc/ssh/sshd_config
    复制代码

    找到port 22这一行,比如改为2222

    1. port 2222
    复制代码

    禁止root账户远程连接:

    1. PermitRootLogin no
    复制代码

    仅使用 SSH Protocol 2:

    1. Protocol 2
    复制代码

    添加新用户 SSH 访问权限:

    1. AllowUsers username #多用户空格隔开,DenyUsers即禁止访问用户
    复制代码

    加速SSH登入禁用UseDNS

    1. UseDNS no
    复制代码

    保存退出,并重启ssh

    1. reload ssh
    复制代码

    不要退出当前连接,用新建用户和端口登入,若无法登入,请检查ssh配置文件是否出错。


    参考文章:


    二,安装lnmp

    lnmp是一系列的开源软件所组成的服务器环境安装包,取自linux,nginx,mysql和php四个单词的首字母。曾经试用过军哥的lnmp一键安装包,安装简单,配置也简单。不过我这种强迫症不喜欢现成的,说实话在这块鼓捣了好久。因为我一直搞不明白nginx的配置。


    安装mysql:


    1. sudo apt-get install mysql-server
    复制代码
    安装过程中会要求输入root密码,输入即可。安装完成后执行
    1. sudo mysql_secure_installation
    复制代码
    按提示操作即可。建议禁止root远程登入。


    安装nginx:


    Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,由一家俄罗斯公司开发。具体请百度百科。
    1. sudo apt-get install nginx
    复制代码


    安装php:
    1. sudo apt-get install php5-fpm php5-mysql
    复制代码
    至此所有安装完成


    启动nginx:
    1. sudo service nginx start
    复制代码
    这一步若提示[emerg] bind() to 0.0.0.0:80 failed (98:address already in use ),一般是80端口被apache占用所致,杀死所有apache进程:
    1. sudo killall apache2
    复制代码
    关闭apache的开机启动:
    1. sudo update-rc.d -f apache2 remove
    复制代码
    在浏览器里访问你的IP(本地虚拟机中则是127.0.0.1),出现Welcome to Nginx,则说明nginx启动成功。


    nginx配置:
    nginx的配置文件在/etc/nginx/nginx.conf,具体设置请参考Nginx战斗准备 —— 优化指南。注意到这个其中的两行:
    1. include /etc/nginx/conf.d/*.conf;
    2. include /etc/nginx/sites-enabled/;
    复制代码
    nginx下的一个虚拟主机就相当于一个网站,每个虚拟主机的配置文件保存在上面两条路径。为了便于管理,我都是在/etc/nginx/conf.d/下新建conf配置文件。打开nginx的默认配置文件,修改使其支持php:
    1. sudo nano /etc/nginx/sites-enable/default
    复制代码
    找到server模块,按下修改:
    1. root /usr/share/nginx/www;#网站根目录
    2. index index.php index.html index.htm;
    3. server_name your_IP_address;
    复制代码
    往下找到location ~ .php$ ,去掉部分注释
    1. location ~ .php$ {
    2.                 fastcgi_split_path_info ^(.+.php)(/.+)$;
    3.         #        # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
    4.         #
    5.         #        # With php5-cgi alone:
    6.         #        fastcgi_pass 127.0.0.1:9000;
    7.         #        # With php5-fpm:
    8.                 fastcgi_pass unix:/var/run/php5-fpm.sock;
    9.                 fastcgi_index index.php;
    10.                 include fastcgi_params;
    11.         }
    复制代码
    保存修改退出,并重启nginx:
    1. sudo service nginx restart
    复制代码
    新建一个phpinfo.php:
    1. sudo nano /usr/share/nginx/www/phpinfo.php
    复制代码
    输入:
    1. <;?php phpinfo(); ?>;
    复制代码
    保存退出,浏览器访问ipaddress/phpinfo.php,能正常显示php5-fpm的配置信息说明lnmp环境就搭好了。


    建议安装phpmyadmin;
    1. sudo apt-get install phpmyadmin
    2. sudo ln -s /usr/share/phpmyadmin/ /usr/share/nginx/www 
    3. sudo service nginx reatsrt
    复制代码
    安装过程中会提示输入mysql密码和设置root登录密码,安装完成访问ip-address/phpmyadmin,在本地虚拟机中的,就是http://127.0.0.1/phpmyadmin,进行管理数据库,


    新建一个虚拟主机(添加网站):
    复制/etc/nginx/sites-enable/default到/etc/nginx/conf.d/example.conf:
    1. sudo cp /etc/nginx/sites-enable/default /etc/nginx/conf.d/example.conf
    复制代码


    三,lnmp下安装wordpress
    当然可以用其他blog程序,比如国产的typecho,不过wordpress更易于食用。
     
    下载最新版wordpress
    还是下载中文版wordpress吧
    把3.8.1改成最新的番号,详见https://cn.wordpress.org/releases/#latest
    1. wegt <a href="http://cn.wordpress.org/wordpress-3.8.1-zh_CN.tar.gz" target="_blank">http://cn.wordpress.org/wordpress-3.8.1-zh_CN.tar.gz</a>
    复制代码
    解压:
    1. tar -zxvf wordpress*.gz
    复制代码
    把解压出来的wordpress文件夹移到某个你想放的地方,个人随意。


    创建数据库
    装过phpmyadmin的,此时只要进phpmyadmin页面创建一个名为wordpress的数据库就好,其他默认。否则,进mysql创建吧。进入mysql:
    1. mysql -u root -p
    复制代码
    创建一个名为wordpress的数据库:
    1. create database wordpress;
    复制代码
    以后要是想修改wordpress数据库里的内容:
    1. use wordpress;
    复制代码
    这里涉及到mysql命令语句,有兴趣的可以研究一下,不然装个phpmyadmin吧。


    安装wordpress
    为了安全考虑,修改下web根目录的权限。我习惯直接将解压出来的wordpress目录当作网站的跟目录。
    1. sudo chown www-data:www-data * -R 
    2. sudo usermod -a -G www-data username
    复制代码
    www-data是ngimx的默认运行用户。
    创建wordpress的nginx配置文件:
    1. sudo nano /etc/nginx/conf.d/wordpress.conf
    复制代码
    把下面这段扔进去:
    1. server {
    2.         listen 80 ;#default_server;
    3.         #listen [::]:80 default_server ipv6only=on;
    4.         root 这里写网站根目录;
    5.         index index.php index.html index.htm;
    6.         # Make site accessible from http://localhost/
    7.         server_name 127.0.0.10;#换成自己的域名或者IP
    8.         location / {
    9.                 #try_files $uri $uri/ =404;               
    10.         try_files $uri $uri/ /index.php?q=$uri&$args;#伪静态
    11.         }
    12.         error_page 404 /404.html;
    13.         error_page 500 502 503 504 /50x.html;
    14.         location = /50x.html {
    15.                 root /usr/share/nginx/html;
    16.         }
    17.         location ~ .php$ {
    18.                 fastcgi_split_path_info ^(.+.php)(/.+)$;
    19.                 fastcgi_pass unix:/var/run/php5-fpm.sock;
    20.                 fastcgi_index index.php;
    21.                 include fastcgi_params;
    22.         }
    23. }
    复制代码
    直接将/etc/nginx/sites-available/default里的内容复制进去也可以:
    1. sudo cp /etc/nginx/sites-available/default  /etc/nginx/conf.d/wordpress.conf
    复制代码
    关于wordpress的伪静态规则,上面一种,是wordpress官方给的,网上还可以搜到的比较多见的:
    1. location / {
    2. if (-f $request_filename/index.html){
    3.                 rewrite (.*) $1/index.html break;
    4.         }
    5. if (-f $request_filename/index.php){
    6.                 rewrite (.*) $1/index.php;
    7.         }
    8. if (!-f $request_filename){
    9.                 rewrite (.*) /index.php;
    10.         }
    11. }
    复制代码
    最好把 /etc/nginx/sites-available/default和/etc/nginx/sites-enabled/default下的配置文件删掉,不然容易出现问题。之后重启nginx:
    1. rm /etc/nginx/sites-available/default/* /etc/nginx/sites-enabled/defaul/*
    复制代码
    1. sudo service nginx restart
    复制代码
    在浏览器输入ip或者域名
    积极乐观,好好coding
  • 相关阅读:
    javaweb学习总结(三十三)——使用JDBC对数据库进行CRUD
    javaweb学习总结(三十二)——JDBC学习入门
    javaweb学习总结(三十一)——国际化(i18n)
    javaweb学习总结(三十)——EL函数库
    javaweb学习总结(二十九)——EL表达式
    javaweb学习总结(二十八)——JSTL标签库之核心标签
    javaweb学习总结(二十七)——jsp简单标签开发案例和打包
    JSP页面中使用JSTL标签出现无法解析问题解决办法
    MySQL客户端输出窗口显示中文乱码问题解决办法
    windows操作系统查看占用端口的进程
  • 原文地址:https://www.cnblogs.com/xiaodi914/p/4520658.html
Copyright © 2020-2023  润新知