龙芯服务器部署WEB服务的体验和详细步骤

2019年01月02日 18:40:34 weixin_40065369 阅读数 1733
 
版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明。

http://www.loongson.cn/news/company/511.html

2016年8月,通过龙芯俱乐部的《龙芯团购》(网址http://www.loongsonclub.com)购买了一台3A2000的主机,在点击下单的时候心里咯噔了一下,感觉好像在梦里。下单后团购网负责人马上联系了我,怀着万分激动的心情等待,作为一个关注龙芯10年的爱好者,终于要第一使用国产的龙芯电脑,完成一个许久的夙愿,到货后迫不及待开箱,发现机箱不大,类似广场舞上音响,我还发了个微信朋友圈让朋友们猜猜是什么,结果24小时内猜什么的都有,比如:微波炉、音响、充电宝....,就是没猜到是龙芯电脑主机,果然高端大气上档次!开机后查看配置,个人感觉在台机挺高,已经超过了我现在用主机的配置,固态硬盘、8G内存,还赠送了U盘。
开箱附图:

命令行查看系统构架和系统操作系统,经查为mips平台的fedora2.1的64位系统。如果想使用更优好的用户桌面体验,还可以向俱乐部请求用deepin的龙芯版,不但界面接近苹果操作系统,而且桌面软件更完善,而且有软件商店直接像苹果商店一样安装软件,主要是的已经移植了QQ最新版。

命令行查看CPU的情况,以下附图说明是4个999Mhz频率的核心

使用ifconfig命令行查看网卡的情况

使用htop系统资源情况(安装htop命令可以使用sudo yum install htop 一行命令即可),使用htop直接查看系统资源占用详细情况,可以看出,在无图形界面的情况下,系统对cpu的占用率极低。

一、作为办公用主机的体验。
        虽说是拿来做服务器用,但仍好奇先把玩一番。就先后体验了办公软件WPS和网页版QQ,微信以及Kodi视频播放。经初测:libreoffice在打开文档、电子表格以及幻灯片速度快,满足办公完全没问题,唯一不足是字体不够全,建议系统应配套默认的仿宋体。由于腾讯无最新版的QQ支持,登录web页面登录腾讯的网页版QQ和微信均能正常使用。在线视频播放软件我选择了《龙芯》官网推荐的kodi,使用命令行安装命令:sudo yum install kodi 。一行命令就安装成功,安装成功后选择了国内媒体库。即可播放国内的连续剧,我是在网上下载了新浪的影视库插件。关于kodi的使用请详见龙芯官网的说明http://www.loongson.cn/news/company/466.html
        因此,可以说,龙芯作为办公用性能已经完全满足。如果结合娱乐使用,请建议安装国人开发界面目前最漂亮的linux系统,deepin版的龙芯版,支持将更丰富。
龙芯上使用libreoffice附图:

龙芯上使用QQ附图:

龙芯上使用微信附图:

龙芯上使用Kodi附图:

二、作为个人WEB服务器的使用,安装linux+mysql+apache+php。
        打开系统终端,进行安装调试,以下为个人调试的示例,请做参考。
1、首先更新软件源,完善组件和系统依赖包,提高安全性。

sudo  yum  update

sudo  yum  upgrade

sudo yum list installed mysql*
2、安装mysql数据库
rpm -qa|grep mysql  ##查看是否还有mysql软件,有的话继续删除
##########安装mysql
sudo yum install mysql  mysql-server  mysql-devel  -y
#mysql的几个重要目录
/var/lib/mysql/     #数据库目录
/usr/bin            #相关命令(mysqladmin mysqldump等命令)
service mysqld start  #启动mysql
mysql -uroot  #进入mysql
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');   ## 修改mysql密码为新密码
grant all privileges on *.* to root@'%' identified by '123456';   ## 授权超级用户远程连接,仅测试用
create database mytest;
grant all privileges on mytest.* to mytest2016@'localhost'identified by 'shujukubendifangwen-666';
flush privileges;
systemctl enable mysqld.service   #为MySQL创建启动连接 (这样 MySQL 将随系统自动启动)并启动 MySQL服务。
        安装成功后的截图

安装好mysql后大家可能惊奇的发现,提示不是mysql而是MariaDB数据,MariaDB数据比mysql兼容行更强,数据的查询速度更快,而且说有的mysql命令和设置均兼容MariaDB数据的操作。
        MariaDB数据简介:MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。
        MariaDB直到5.5版本,均依照MySQL的版本。因此,使用MariaDB5.5的人会从MySQL 5.5中了解到MariaDB的所有功能。
        从2012年11月12日起发布的10.0.0版开始,不再依照MySQL的版号。10.0.x版以5.5版为基础,加上移植自MySQL 5.6版的功能和自行开发的新功能。
3、安装apache的http服务,提供WEB服务
        命令行如下:
sudo yum list http*  #查看http的软件安装包
sudo yum install httpd.mips64el httpd-devel.mips64el  #选择安装相应的服务
sudo yum install php-ZendFramework-Db-Adapter-Pdo-Mysql.noarch   #安装pdo组件,经测试,支持loongson架构
/var/www/html/     #网页更目录
/etc/httpd/conf/   #设置目录
systemctl enable httpd.service   #系统在开机时启动Apache
发现问题,php代码编写时不支持<?  ?> ,在嵌入显示时,一定要按照规范写为:<?php  ?>
4、不带界面的命令行启动
        由于作为服务器使用,没必要使用图形化操作界面,使用纯命令行启动更能节省内存和CPU资源。
        因为在Fedora中没有/etc/initab文件我们不方便从这里设置它的runlevel target,但是Linux又给我们提供了一个强悍的工具systemd,我们可以用system来链接默认的启动级别,所以开始吧!
        以下介绍三种方法:
(1)删除目标链接并创建新的符号链接(从命令行启动)
ln -sf /lib/systemd/system/multi-user.target  /etc/systemd/system/default.target
(2)从图形界面启动
把multi-user.target替换为graphical.target即可。
ln -sf /lib/systemd/system/graphical.target  /etc/systemd/system/default.target
代码解释
ln命令是一个在文件之间建立链接的命令,默认情况是硬链接(hard link),我们要用的是符号链接(symboli link),它可以为在不同文件系统中文件创建链接。
-s  创建符号链接
-f   删除已经存在的同名链接
        安装php成功后,在无图形界面,命令行开机的情况下开机,资源占用情况:

在有图形界面的情况下,开机17天系统资源情况,由于我开的软件较多,内存占用在正常范围内

系统组件,特别是PDO的支持正常。

对mysql(MariaDB数据)和sqlite数据库的支持

使用工具连接MariaDB数据,依然正常

在3A2000做服务器搭建通用的ecshop演示
        首先在ecshop官网http://yunqi.shopex.cn 下载UTF8的源码

修改源码中一下目录的bug:
a、\includes\lib_time.php on line 28
在28行前边加一行date_default_timezone_set("PRC");
b、/includes/cls_template.php on line 422
只要422行把这一句拆成两句就没有问题了  $tag_sel = array_shift(explode(' ', $tag)); 改成: $tag_arr = explode(' ', $tag);  $tag_sel = array_shift($tag_arr);
c、/includes/cls_template.php on line 300
return preg_replace("/{([^\}\{\n]*)}/e", "\$this->select('\\1');", $source);
替换为:return preg_replace_callback("/{([^\}\{\n]*)}/", function($r) { return $this->select($r[1]); }, $source);
d、/install/includes/lib_installer.php on line 31
lib_installer.php文件,将第31行代码中的return cls_image::gd_version();改成:$p = new cls_image();return $p->gd_version();即可解决。
e、/includes/lib_base.php
 第346行return cls_image::gd_version(); 改为 $p = new cls_image();    return $p->gd_version();
上传upload内的源码到龙芯3A2000服务的某目录,我这里上传到echsop目录,并将该目录的权限设置为可写。
进入http://XXXXX/install 进行安装。

在龙芯3A2000的mysql上新建个数据库用于安装ecshop,我这里新建了名为ecshop的数据库,字符集设置为UTF8,然后安装界面进入下一步:

安装完成后进入首页,运行稳定,点击反应速度很快。

通过对国产龙芯CPU 3A2000主机的试用,首先说图像化界面,给我最深的感触是稳定!我操作图像化界面系统,未发现因为CPU的问题重启、死机的情况,因为系统问题重启死机的情况也未发生,但发生一下应用程序执行错误的情况,这在linux系统上很常见,和CPU没什么关系,这个是国产软件的生态问题。其次说重点就是我作为php的web服务器的使用体验,我通过系统软件监控,开机后从未发生过重启的现象,正常工作的情况下打开各种服务直接流畅,与intel平台安装的linux系统没有区别,因此可以说在服务器操作层面,国产龙芯CPU替代intel系列的linux服务器在兼容和生态圈方面已经很棒。因为常用的依赖包、插件、组件在源里已经移植,直接使用命令编译安装即可,十分方便。在常用的公司、学校、政府机关使用自主可控的国产龙芯服务器部署web网站我因为完全可以胜任了。一方面是稳定性好,另一方面使用了国产CPU不再担心境外产品可能预留后门的隐患,大大提高了整个系统的安全性和抗网路攻击的能力。往小了说提高了本单位本部门的系统的安全性,往大了说是为国家的网络信息安全建设增砖添瓦!

附:龙芯Intellij IDEA开发Spring web应用视频

http://tieba.baidu.com/p/5975179608

从无到有 http://www.bilibili.com/video/av33548530?from=search&seid=12988010098696468687

[转帖]龙芯服务器部署WEB服务的体验和详细步骤的更多相关文章

  1. Rsync同步部署web服务端配置

    Rsync同步部署web服务端配置 1,参数详解: -v, --verbose 详细模式输出. -q, --quiet 精简输出模式. -c, --checksum 打开校验开关,强制对文件传输进行校 ...

  2. Resin服务器部署web项目

    Resin服务器部署web项目 学习了:https://blog.csdn.net/eff666/article/details/53324167 需要配置resin.xml文件: <host ...

  3. Asp.Net终于可以在龙芯服务器上运行啦:Jexus成功完成对国产系列CPU的适配

    为了确保我国信息化建设“安全可靠”,使用国产关键系统.关键应用.关键软硬件替代国外信息技术产品,已经在党政部门.国营企事业单位得到了进一步落实.过去运行于 Windows 服务器的 Web 应用程序, ...

  4. 国产龙芯服务器源码安装PostgreSQL数据库的方法

    1. 公司最近有一些国产化项目的需求, 要求在国产CPU的服务器上面安装pg数据库等. 2.. 但是差查了下中标麒麟的官网,在龙芯MIPS的操作系统包源里面仅有 postgreSQL 9.2 版本的r ...

  5. Apache与php快速部署web服务

    [本文出自天外归云的博客园] 在一台服务器上临时起个web服务,读取服务器上的cfs文件内容并显示在页面上,做一个简单的web请求处理. 首先找到apache,在conf文件夹下vi httpd.co ...

  6. [转帖]龙芯下一代处理器微结构GS464E细节曝光

    龙芯下一代处理器微结构GS464E细节曝光 [日期:2015-05-26] 来源:Linux公社  作者:Linux [字体:大 中 小] http://www.linuxidc.com/Linux/ ...

  7. [转帖]龙芯3A4000处理器实测:28nm工艺不变 性能仍可提升100%以上

    龙芯3A4000处理器实测:28nm工艺不变 性能仍可提升100%以上 http://news.mydrivers.com/1/663/663122.htm 龙芯是中科院下属的计算机所研发的自主产权国 ...

  8. IIS服务器部署web应用《一》

    最近了解到开发用iis部署环境,于是了解了下. IIS用于部署web应用,其简单,配置方便,可以用作本地机器作为服务器进行部署.且所在部署系统为windows,便于使用iis. 端口80需要修改为别的 ...

  9. [转帖]龙芯3A/3B3000通用处理器出货超30万 获得“中国芯”大奖

    龙芯3A/3B3000通用处理器出货超30万 获得“中国芯”大奖 http://www.eetop.cn/cpu_soc/6946247.html 2019.10 的新闻 出后量 30万 我们贡献了 ...

随机推荐

  1. Oracle 进程 前台进程-服务进程

    一.什么是服务进程(前台进程) 当用户运行一个应用进程时,系统会为用户运行的应用建立一个用户程序,该进程通过某种方式启动一个服务器进程(前台进程),用于处理连接到该实例的用户进程的请求. 二.服务进程 ...

  2. ckeditor不能粘贴word的问题

    在之前在工作中遇到在富文本编辑器中粘贴图片不能展示的问题,于是各种网上扒拉,终于找到解决方案,在这里感谢一下知乎中众大神以及TheViper. 通过知乎提供的思路找到粘贴的原理,通过TheViper找 ...

  3. iis大文件上传

    IS出于安全考虑限制了大文件的上传,而网上百度到的大部分解决方法都是用一个管理员权限的记事本打开一个文件修改参数,但是我发现里面根本没有网上所说的那些参数,最后自己找到了修改发布文件的webconfi ...

  4. 蓝牙4.0模块,AT指令集

    一,LED状态 二,蓝牙模块有两种通信模式 1,AT指令模式 2,数据透传模式 三.AT指令程序设计 1.设置模块的名字 void usart3_send_str(char *pbuf) { whil ...

  5. MySQl的库操作、表操作和数据操作

    一.库操作 1.1库的增删改查 (1)系统数据库: performance_schema:用来收集数据库服务器的性能参数,记录处理查询时发生的各种事件.锁等现象 mysql:授权库,主要存储系统用户的 ...

  6. codeforces392B

    CF392B Tower of Hanoi 题意翻译 河内塔是一个众所周知的数学难题.它由三根杆和一些可以滑动到任何杆上的不同尺寸的圆盘组成.难题从一个整齐的杆中开始,按照尺寸从小到大的顺序排列,最小 ...

  7. centos7 安装 mysql5.6(mysql-5.6.44-linux-glibc2.12-x86_64.tar.gz)

    1.到mysql官网下载安装包 下载地址:https://dev.mysql.com/downloads/mysql/5.6.html#downloads 选择以下截图中的版本 2.下载后上传到lin ...

  8. python线程+队列(queue)

    ---恢复内容开始--- python的线程学习 用处 pocpiliang脚本的编写 函数式:调用 _thread 模块中的start_new_thread()函数来产生新线程.语法如下: _thr ...

  9. Redis监控之redis-stat安装与详解

    一.安装环境 安装编译环境.ruby运行环境.git代码 yum install gcc-c++ yum -y install ruby-devel yum install ruby yum inst ...

  10. Mapping Pocos

    Mapping Pocos Example Pocos/Mappings public class Note { public int Id { get; set; } public DateTime ...