首页
碎碎念
东邻西舍
本站信息
前来吐槽
统计
Search
1
openwrt系统上安装第三方插件
26,758 阅读
2
ubuntu下zerotier的基本使用教程
13,578 阅读
3
给小米R3G更换系统:从padavan刷成openwrt
12,848 阅读
4
openwrt使用第一步:设置上网拨号
10,741 阅读
5
openwrt无线中继功能:实现不插网线就能上网
9,519 阅读
学习点滴
Java
Web前端
Linux
踩坑实录
折腾搞机
关于建站
只言片语
登录
Search
标签搜索
Linux
建站
Java
踩坑实录
Ubuntu
MySQL
折腾搞机
HTML
CSS
MyBatis
Spring
SQL
Nginx
路由器
树莓派
OpenWrt
Maven
Git
Win10
只言片语
知识分子没文化
累计撰写
83
篇文章
累计收到
152
条评论
首页
栏目
学习点滴
Java
Web前端
Linux
踩坑实录
折腾搞机
关于建站
只言片语
页面
碎碎念
东邻西舍
本站信息
前来吐槽
统计
搜索到
20
篇与
的结果
2021-01-27
在ubuntu上手动搭建LNMP环境
前排提示: 本篇博客篇幅较长,建议结合目录进行阅读! 目录: 前言: 一、安装nginx 二、安装php及部分组件 三、配置Nginx文件 四、安装配置Mysql 1. 输入以下命令安装: 2. 修改Mysql加密方式,并修改密码 五、上传网站文件 六、安装配置phpMyAdmin 环境说明: Linux:ubuntu 20.04 Nginx:1.18 Mysql:8.0 PHP:7.3 前言: 什么是LNMP?简单来说,就是网站的运行环境,即L(Linux) +N(Nginx) +M(Mysql/MariaDB)+P(php/Perl/Python),这四类开源软件技术,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。 现在有软件能很方便地安装LNMP环境,比如宝塔面板,优点就是简单快捷,对于使用者的技术要求不高,适合没有基础的非专业人士建站使用,但同时由于过于方便,在建站中反而学习不到多少相关的技术,因此我在建站过程中果断弃用宝塔面板,选择自己手动搭建LNMP环境。 当时搭建LNMP环境的过程中,网上找了很多资料和博客都是良莠不齐,同时也踩了不少坑,不过好在最后还是搭建成功了,所以就把整个过程整理整理记录下来,防止以后遗忘。 不想自己折腾的小伙伴可以直接安装宝塔面板一键安装LNMP环境,不同版本的Linux系统安装宝塔命令的命令不同,相关方法可以查阅我的另一篇博客:Linux系统安装宝塔面板。 以下就是ubuntu环境中我配置LNMP环境的全过程: 一、安装nginx 引用相关百科中的内容简单介绍一下nginx: nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。 安装nginx的命令很简单,就一句话: sudo apt install nginx 安装完之后,访问服务器IP地址,即可访问到Nginx的初始页面: 二、安装php及部分组件 sudo apt install php-common php-cli php-fpm php-mysql php-mbstring php-curl php-gd php-twig php-json php-opcache php-readline 此命令没有指定版本,默认安装的是最新版本的php和组件,如果要安装旧版本的php,参照以下方法: # 1.添加仓库: sudo apt install software-properties-common # sudo apt install python-software-properties sudo add-apt-repository ppa:ondrej/php # 2.更新软件源 sudo apt update # 3.安装指定版本php sudo apt install php[版本号]-common php[版本号]-fpm php[版本号]-mysql php[版本号]-mbstring php[版本号]-curl php[版本号]-gd php[版本号]-json php[版本号]-opcache php[版本号]-readline 三、配置Nginx文件 第一步中,我们已经能够成功访问Nginx页面了,此时再次配置Nginx文件,使其可以处理php页面。 关于Nginx文件的配置,我也是在网上查了很多东西才有点头绪的(所以就想多哔哔几句)。 一般来说(适用于在ubuntu环境下使用apt命令安装的nginx),nginx的配置文件是/etc/nginx目录下的nginx.conf,这个文件中的配置信息可以用include语句从其他目录引入配置文件。其中,这个目录(/etc/nginx)下的sites-enabled文件夹就是被引入的,同目录下还有一个名为sites-available的文件夹,这两个文件夹的作用是不同的,简单介绍一下。sites-available文件夹里面放的是不生效的网站配置文件,sites-enabled文件夹里是目前生效的网站配置文件。在默认未修改的情况下,sites-available文件夹中存放了一个nginx静态页面的配置文件default,对应sites-enabled文件夹中放的是default这个文件的软连接(不知道什么是软连接的同学点这里,简单说就是类似于快捷方式),这样一来就能访问到默认页面了。 所以,就可以这样修改配置文件,即需要建立新站点时,在sites-available中新建一个配置文件(文件名不做要求),在这个文件中写入站点的配置信息并保存,然后在sites-enabled文件夹中建立指向这个配置文件的软连接,即可完成配置。当然,有聪明的小伙伴肯定能想到,为什么要这么麻烦呢,直接更改sites-enabled下的配置文件不行么,那当然是可以了,接下来的配置方法就是基于这个思路的。 哔哔了这么多,现在就开始吧: # 直接在sites-enabled文件夹下面进行编辑 cd /etc/nginx/sites-enabled # 删除/etc/nginx/sites-enabled文件夹中的默认配置文件 sudo rm default 用touch命令在这个文件夹中新建一个配置文件website,然后进行编辑 # 新建配置文件 sudo touch website # 编辑这个配置文件 sudo nano website 将下面的配置直接粘贴到这个文件中,关于这段配置的含义及修改方法,下面注释中做了简单说明,更详细的配置可以参考这篇文章:nginx 配置详解(新手必看) # HTTP服务配置 server { listen 80; # www.langp.wang改为你的域名或者“_” server_name www.langp.wang; # 存放网站文件的根目录,/var/www/html是nginx静态文件所在的默认目录,这里新建一个文件夹website来放新的网站文件 root /var/www/html/website; # 以下的配置信息基本可以不用改了,复制过去就能用 index index.html index.htm index.php; location / { try_files $uri $uri/ =404; } # 加入php的配置,使服务器可以处理php网页 location ~ \.php$ { #include snippets/fastcgi-php.conf; # 使用php-fpm(或其他unix套接字): fastcgi_pass unix:/run/php/php-fpm.sock; # 使用php-cgi(或其他tcp套接字): #fastcgi_pass 127.0.0.1:9000; # 设置脚本文件请求的路径 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # 引入fastcgi的配置文件 include fastcgi_params; } } 修改完成后,ctrl + o保存,ctrl + x退出,然后使用以下命令重启Nginx服务,使配置生效: sudo nginx -s reload # 或者 sudo service nginx reload Nginx配置完了,现在来看是否配置成功,在网站根目录/var/www/html/website(或者是你配置文件中自定义的网站根目录)下新建一个文件index.php,在里面键入: <?php phpinfo(); ?> 然后保存退出。 如果前面配置都没问题的话,现在用浏览器访问服务器ip地址或者解析后的域名就能访问到本机安装的关于php的信息了: 四、安装配置Mysql Mysql就不用多说了,大名鼎鼎的关系型数据之一。 1. 输入以下命令安装: sudo apt install mysql-server 2. 修改Mysql加密方式,并修改密码 安装完成之后,先登录mysql: sudo mysql -uroot -p 接下来提示输入密码,直接按回车即可进入 然后修改mysql加密方式和密码: # 对于的mysql 8以上,使用以下命令更改mysql8的加密方式,为root用户更改密码: alter user 'root'@'localhost' identified with mysql_native_password by '新密码'; # mysql 8以下: update mysql.user set plugin='mysql_native_password'; update mysql.user set password=password("新的密码") where user='root'; #或者 set password for root@localhost=password('新的密码'); # 我们也还可以使用mysqladmin命令来进行修改 mysqladmin -u root -p '旧密码' password '新密码'; alter user root@localhost identified by '新密码'; 修改完之后,刷新权限信息,输入: flush privileges; 然后输入exit退出mysql控制台,重新登录mysql,使用刚才的密码就能进入数据库了。 五、上传网站文件 在网站根目录下,将前面测试用的“index.php”文件删除。 然后将网站文件通过FTP工具或者其他手段上传到nignx配置文件中设置的根目录下,在浏览器输入域名或者IP地址,就能访问到网站了。 六、安装配置phpMyAdmin 到这里,LNMP环境算是安装完了。但是目前只能用命令行方式管理数据库,为了减轻我们的工作量,我们需要安装一个图形界面工具来管理数据库。phpMyAdmin就是这样一个图形化的工具,可以直接在网页端管理数据库,当然,如果有其他数据库工具,这一步可以不安装。 phpMyAdmin的安装命令同样很简单: sudo apt install phpmyadmin 安装过程中会弹出来几个界面选择: 由于我们安装的服务器软件是nginx,所以这里的apache2和lighttpd都不选,直接按Esc退出; 选择yes 输入一个密码 再次输入密码确认,安装就算完成。 安装完成后还要把phpMyAdmin连接到nginx服务器根目录上,因此建立软连接: sudo ln -s /usr/share/phpmyadmin /var/www/html/website 此时在浏览器中访问:域名/phpmyadmin/index.php,即可访问到phpmyadmin的登陆页面: 用mysql的帐号密码即可登录管理数据库。 到这里LNMP环境的搭建就算是全部完成了,把相应的网站文件上传到设置好的网站的根目录下,用域名或者ip地址进行访问。 另:如果你跟我一样都是安装typecho框架,还需要给博客设置伪静态,typecho博客若不进行此设置,则会出现只能访问首页却访问不了后台和文章的问题。设置方法:typecho设置伪静态规则 - Roookie博客 | 记录 · 收纳 · 分享 (wlplove.com)
2021年01月27日
1,489 阅读
0 评论
3 点赞
2021-01-26
为Nginx服务器安装SSL证书实现站点的HTTPS访问
目录: 1. 查看nginx是否支持SSL 2. 申请并下载SSL证书 3. 上传证书 4. 安装证书 5. 设置HTTPS强转 环境说明: Linux:ubuntu 20.0.4 nginx:1.18 首先,你得有域名的证书文件,如果还没有,就得要申请了,如果要求不高只要单域名证书的话,到购买域名的服务商那里就能免费申请到,本文以阿里云的单域名证书为例来进行说明。 1. 查看nginx是否支持SSL 使用命令查看nginx版本: nginx -V 查看输出结果,如果有显示--with-http_ssl_module,则说明支持安装SSL证书,如果没有显示,则需要重新下载nginx源码重新编译安装SSL模块。 2. 申请并下载SSL证书 一般对于个人用户来说,第三方机构颁发的免费DV证书即可满足要求,比如阿里云腾讯云都可以申请到为期一年的免费SSL证书(前提是在平台上买了域名)。要是对于信息安全有更高要求的用户或者企业来说,就得使用付费的SSL证书了。这里以阿里云的免费SSL证书为例说明: 首先登陆阿里云,前往阿里云SSL证书购买页面,按如图设置,使最后的价格为0: 点击购买,购买完成之后,自动跳转到SSL证书控制台,然后就可以为所购买的域名申请SSL证书了,申请过程很简单,照着提示做就可以,申请之后会提交审核,审核速度也很快,一般5分钟左右最长不超过10分钟就能审核成功。 完毕后,即可在SSL证书控制台下载SSL证书: 选择nginx,下载即可,记住下载的位置,等会上传时要用 3. 上传证书 先在服务器上创建一个放SSL证书的目录,这里以/etc/nginx/ssl为例,当然你也可以改成其他目录: # 创建目录 sudo mkdir /etc/nignx/ssl 然后将下载好的证书文件使用Ftp工具上传到这个文件夹,这里推荐用XSHELL,FileZilla等FTP工具,上传之后如图: 4. 安装证书 编辑网站的Nginx配置文件,我的目录是/etc/nginx/sites-enabled,这里根据自己的实际情况来换成自己的目录: sudo nano /etc/nginx/nginx.conf 在配置文件中定位到站点的配置信息,在其中添加以下server配置信息,并按照注释修改其中部分站点信息: #以下属性中,以ssl开头的属性表示与证书配置有关。 server { listen 80; #配置HTTPS的默认访问端口为443,如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。 listen 443 ssl; #如果您使用Nginx 1.14.0及以下版本,请使用listen 443和ssl on代替listen 443 ssl。 #需要将yourdomain.com替换成证书绑定的域名。 server_name yourdomain.com; root html; #站点目录更改成自己的 index index.html index.htm; #需要将cert-file-name.pem替换成已上传的证书文件的名称。 ssl_certificate /etc/nginx/ssl/cert-file-name.pem; #需要将cert-file-name.key替换成已上传的证书密钥文件的名称。 ssl_certificate_key /etc/nginx/ssl/cert-file-name.key; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DHE; #表示使用的TLS协议的类型。 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; #其他的配置信息··· } 更改完成后,ctrl + o保存,ctrl + x退出,回到终端界面,然后重启Nginx服务: sudo nginx -s reload 重启完成后,验证安装是否成功,在访问网址前方加入:https://,回车访问: 原来地址栏前面的“不安全”字样变为了一把绿色的小锁,说明SSL证书安装成功 5. 设置HTTPS强转 经过上面的设置后,网站虽然可以用HTTPS访问,但是每次都得网址前面手动添加HTTPS://字样,否则就是默认HTTP方式访问,那么我们可以设置一下,使网站在用HTTP方式访问时都能自动跳转到更安全的HTTPS方式。 下面提供了三种方式来实现,任选一种在配置文件中添加相应代码即可,添加完别忘了重启nginx服务。 # 1.利用497状态码跳转,在一个站点只允许 https 访问时, 如果使用 http 访问会报出497错误码,所以可以利用497状态码重定向到 https: error_page 497 https://$host$uri?$args; # 2. if ($server_port = 80){ return 301 https://$host$request_uri; } # 3. if ($scheme = http) { return 301 https://$host$request_uri; } 此篇博客仅限单域名证书的申请安装,但是泛域名证书的话在域名服务商那里就是付费的,当然也有免费的,比如大名鼎鼎的Let's encrypt证书,参考这里:免费的泛域名证书——Let's encrypt证书 - Roookie博客 | 记录 · 收纳 · 分享 (wlplove.com)。
2021年01月26日
1,432 阅读
0 评论
1 点赞
2021-01-25
在Linux系统上安装宝塔面板
CentOS安装: # CentOS 7: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh # CentOS 7以下版本: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh ubuntu/Deepin安装 wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh Debian安装 wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh Fedora安装 wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh
2021年01月25日
1,766 阅读
0 评论
3 点赞
2021-01-25
【踩坑实录】记一次Nginx的排错
在阿里云服务器上自行搭建了LNMP环境,搭建完之后就开始安装typecho博客,结果装完发现typecho的后台进不去,就想着把服务器重启试试,这不重启不知道,一重启就发现大问题:刚才还能访问的typecho首页也访问不了了,然后我再次重启nginx服务: 直接报错,这一波未平一波又起可整的我够呛,遂去网上找答案,看了几个,大致方法都是这样: 按照这个方法来试试: # 先查看nginx配置文件路径: nginx -t # 再运行: nginx -c /etc/nginx/nginx.conf 结果如下: 第二步nginx -c /etc/nginx/nginx.conf的输出结果报错,遂又失败,再次重启nginx服务时,报错又变成了这样: 然后把nginx -c /etc/nginx/nginx.conf的输出报错结果放到搜索引擎上搜了一搜,又发现了这篇文章:Nginx启动时提示nginx: emerg still could not bind(),按照操作查询80端口的占用情况: netstat -ntlp|grep 80 结果显示80端口被apache2端口占用了,尝试杀掉占用端口的apache2,但是apache2生命力貌似“有点顽强”,杀了好几次还显示有占用: 我的服务器是用nginx的,用不到apache2,所以直接卸载: sudo apt --purge remove apache2 卸载完之后查看80端口就没有占用了,再次尝试刚开始的方法,执行nginx -c /etc/nginx/nginx.conf,这回就没有报错了: 重新启动nginx服务之后,网站可以正常访问了,问题解决。
2021年01月25日
2,154 阅读
0 评论
2 点赞
2021-01-25
欢迎来到知识分子没文化的博客
如果您看到这篇文章,表示您的 blog 已经安装成功. {mtitle title="以上为系统自动生成"/} Hello,欢迎来到一名十八线不知名大学的软件工程专业学生的博客。 本篇是博客创建好之后自动生成的第一篇文章,感觉还是挺有纪念意义的,并不想删它,所以就改改标题内容,发成我的第一篇博客(水出来一篇博客),以此记录一下本站的建站过程以及未来的内容方向。 建站过程 大一时候认识一个学长,访问过他的博客,当时真的是惊讶到我了,原来个人也是能建站的,所以从那时开始就想要一个属于自己的网站。 2020年春节前夕,注册了一个阿里云账号,买了一年的域名,新用户白嫖了一个月的服务器。就着百度、知乎查到的似是而非的教程,抱着试一试的想法用Xshell连上了这个服务器,作为纯小白的我面对着黑漆漆的一个控制台窗口,不知所措。后来因为其他事务繁忙(打游戏打得昏天黑地 ),服务器也过期了,买的域名闲置了大半年,于是第一次的建站尝试就这么失败了。 2020年下半年返校,那时候在一个羊毛群里看到能白嫖三个月的ucloud服务器,于是想再次试试,注册账号,领到了三个月的服务器。这一次照着网上的教程上手先安装了宝塔面板,然后开放8888端口,新手刚进入到宝塔面板的时候那叫一个激动。进去之后安装了默认的LNMP环境,摸索着创建出了第一个wordpress站点,然后就慢慢研究上手宝塔面板里的各种选项,虽然到现在还是没有完全搞明白,但是这个过程中的乐趣着实是让人上头。 就这么瞎玩瞎折腾,算是基本搞清楚了搭建一个博客网站的基本套路,接着我就正式开始考虑购买服务器,入手了一年的阿里云学生机和两年的域名,搭建环境就轻车熟路了,便着手开始域名的备案工作,在阿里云提交备案信息等待初审通过,再等待工信部的审核。 2021年1月25日,这是值得纪念的一天,等了16天左右,域名langp.wang备案通过,也就意味着我可以进行域名解析了,于是我这个菜鸡的个人博客就算是正式开通了。 嗯,确实成就感满满。 关于本站 从宝塔的一键部署源码到使用创建站点功能把从网上下载的模板上传到网站根目录,在尝试了这几种建站方式之后,我最后选择了在ubuntu系统上自己搭建LNMP环境。宝塔面板对于新手和非专业人士建站来说确实很方便,靠鼠标点点点就能搭建出来一个站点,但是方便的同时也少了小白深入学习理解Linux的机会,还是不满足我的要求,所以果断弃用。 在博客系统的选用上,我用的是typecho,这是中国人开发的一套博客系统,正如开发者所说:“仅仅 7 张数据表,加上不足 400KB 的代码,就实现了完整的插件与模板机制”,所以typecho最主要的特点就是简洁;另一方面,typecho原生支持Markdown语法,这就意味着完全可以仅通过Markdown来书写博客,很和我口味。尽管typecho的使用者不如wordpress那么多,但是社区生态也不差,不少站点还是有很多typecho的插件和主题的。 关于本站的内容 由于本人所学是计算机,所以内容方面肯定是离不了计算机了。梳理一下,大概就以下几点: 个人日常折腾,作为一个准“垃圾佬”,日常玩点硬件不记录下来怎么行呢,“折腾搞机”就是关于“垃圾佬”的日常捡垃圾玩硬件纪实; 作为一条咸鱼,不翻翻身,你怎么知道不会翻到一个更舒服的油锅里呢?所以”学习点滴“板块会(日常鸽鸽鸽)记录一些平时的个人笔记总结之类等的东西; 错误总结类,收集日常写代码和折腾时碰到的一些问题,记录下来写成博客,可以为下次碰到的类似问题提供解决思路,这一块称为“踩坑实录”; 还有一个很重要的板块”关于建站“,记录本站的建站过程(技术方面的),只求为建站小白提供力所能及的引导。所有资料方法来自网络,但都经过经本人尝试,然后才整理成教程,也许不是最优选项,但是保证可用。 目前计划的内容就是这些,以后(只求不咕咕咕)也许会新增板块,不过那也是以后的事了。 不要因为走得太远,就忘了当初为什么出发。 就这些,希望未来的自己能坚持下去吧。 2021.01.26
2021年01月25日
2,584 阅读
5 评论
147 点赞
1
...
3
4