服务器搭建

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

最近弄了个阿里云的服务器,想在上面搞点东西,故要搭建一套环境。登录linux,在终端输入 uname -a 即列出linux的内核版本号。(服务器网址:http://101.132.235.56)

1. linux的yum命令

首先我们要安装一些软件,下面就先介绍下 linux的yum 命令

yum常用命令

  • 1.列出所有可更新的软件清单命令:yum check-update
  • 2.更新所有软件命令:yum update
  • 3.仅安装指定的软件命令:yum install <package_name>
  • 4.仅更新指定的软件命令:yum update <package_name>
  • 5.列出所有可安裝的软件清单命令:yum list
  • 6.删除软件包命令:yum remove <package_name>
  • 7.查找软件包 命令:yum search <keyword>
  • 8.清除缓存命令:
    • yum clean packages: 清除缓存目录下的软件包
    • yum clean headers: 清除缓存目录下的 headers
    • yum clean oldheaders: 清除缓存目录下旧的 headers
    • yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的headers

 修改yum源

在安装完CentOS后一般需要修改yum源,才能够在安装更新rpm包时获得比较理想的速度。国内比较快的有163源、sohu源。这里以163源为例子。

1、打开centos的yum文件夹

输入命令cd  /etc/yum.repos.d/

2、用wget下载repo文件

输入命令wget  http://mirrors.aliyun.com/repo/Centos-7.repo  

(或者wget http://mirrors.163.com/.help/CentOS6-Base-163.repo)

如果wget命令不生效,说明还没有安装wget工具,输入yum -y install wget 回车进行安装。

当前目录是/etc/yum.repos.d/,刚刚下载的Centos-7.repo也在这个目录上

3、备份系统原来的repo文件

mv  CentOs-Base.repo CentOs-Base.repo.bak

即是重命名 CentOs-Base.repo -> CentOs-Base.repo.bak

4、替换系统原理的repo文件

mv Centos-7.repo CentOs-Base.repo

即是重命名 Centos-7.repo -> CentOs-Base.repo

5、执行yum源更新命令

yum clean all

yum makecache

yum update

依次执行上述三条命令即配置完毕。

最后就可以使用yum 了。

 

Linux磁盘管理常用三个命令为df、du和fdisk。

  • df:列出文件系统的整体磁盘使用量
  • du:检查磁盘空间使用量
  • fdisk:用于磁盘分区

    参考文档:http://www.runoob.com/linux/linux-tutorial.html

  yum install unzip 下载unzip

原因:缺少libaio库文件 

解决方法:yum install libaio* -y

 

给大家推荐一个上传的很好的工具:

--yum install lrzsz

按照提示输入y即可安装完成

--rz    //按回车即可上传本地文件

144246_H3hM_2950677.png

删除某些文件的命令:(慎用

find / -name mysql rm -rf 上边查找到的路径,多个路径用空格隔开

#或者下边一条命令即可  find / -name mysql*|xargs rm -rf

 

2. 安装jdk

1、检查一下系统中的jdk版本

[root@localhost software]# java -version

2、检测jdk安装包

[root@localhost software]# rpm -qa | grep java

3、卸载openjdk

[root@localhost jvm]# yum remove *openjdk*

之后再次输入rpm -qa | grep java 查看卸载情况:

[root@localhost software]# rpm -qa | grep java

4、安装新的jdk

首先到jdk官网上下载你想要的jdk版本(http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html),下载完成之后将需要安装的jdk安装包放到Linux系统指定的文件夹下,并且命令进入该文件夹下:

144925_xoH4_2950677.png

点击下载,

145043_Yacw_2950677.png

在你想安装的目录下运行(我的目录是:/opt/soft/softinstallpackage/jdk) 下运行命令:

wget http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.tar.gz?AuthParam=1527835935_1097e7aacf561830df21ea69c588fd4d

解压 jdk-8u131-linux-x64.tar.gz安装包 (下载后的解压包改名为:jdk-8u171-linux-x64.tar.gz ),运行命令:

tar -zxvf jdk-8u171-linux-x64.tar.gz

5、设置环境变量

(1) 在/etc/profile文件末尾中添加以下环境变量:(我上面的JDK目录是jdk1.8.0_171,所以下面JAVA_HOME中也是这个)

[root@localhost software]# vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_171
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

151528_4qXe_2950677.png

(2)让/etc/profile文件修改后立即生效,有两种方法:

方法1:
让/etc/profile文件修改后立即生效 ,可以使用如下命令:
# .  /etc/profile
注意: . 和 /etc/profile 之间有空格

方法2:
让/etc/profile文件修改后立即生效 ,可以使用如下命令:
# source /etc/profile

注:如果依然不生效可以尝试重启系统

查看是否成功:运行命令 java -version  

出现jdk的版本表示成功了

151943_bOYr_2950677.png

参考文档:https://www.cnblogs.com/Dylansuns/p/6974272.html

 

3. 安装Nginx

在目录 /opt/soft/softinstallpackage/nginx下执行如下命令:

安装openssl库。

 yum install -y openssl openssl-devel

 

 需要安装gcc:yum install gcc-c++    

   安装 PCRE    yum install -y pcre pcre-devel

 

  安装zlib库   yum install -y zlib zlib-devel

下载nginx:    wget http://nginx.org/download/nginx-1.13.0.tar.gz

装在 /usr/local/  下

解压  tar -zxvf nginx-1.13.0.tar.gz

 

进入目录 运行 ./configure  产生makefile

 此时目录多出了 makefile

编译make

安装:make install

完成后 local 目录下 多了个 nginx

启动 nginx

进入sbin 目录  执行./nginx

查看启动结果

在页面上访问 http://101.132.235.56/   nginx 默认端口为80  

关闭 ./nginx  -s  stop

./nginx   -s  reload  可以在启动后重新加载配置文件 适合于在启动会修改了配置文件

 

 

参考文档:https://www.cnblogs.com/yuanjava/archive/2017/05/13/6850764.html

https://www.linuxidc.com/Linux/2016-08/134110.htm

4. 安装tomcat

 我安装的是 tomcat8.5.31版本(https://tomcat.apache.org/download-80.cgi)

161420_jIwC_2950677.png

在目录 /opt/soft/softinstallpackage/tomcat 下执行命令

wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/v8.5.31/bin/apache-tomcat-8.5.31.tar.gz

解压 :tar -zvxf apache-tomcat-8.5.31.tar.gz 

161527_sB4Z_2950677.png

将tomcat中的/bin/catalina.sh 脚本 拷贝到init.d下,这样是为了比较方面的启动tomcat,在任务地方通过service tomcat start 就可以启动tomcat

cp -p /usr/local/tomcat/bin/catalina.sh /etc/init.d/tomcat

vim /etc/init.d/tomcat
在第二行加入以下内容:

# chkconfig: 112 63 37
# description: tomcat server init script
# Source Function Library
. /etc/init.d/functions

JAVA_HOME=你的jdk路径
CATALINA_HOME=tomcat安装路径

170442_BJ1s_2950677.png

保存文件后执行以下操作

chmod 755 /etc/init.d/tomcat
chkconfig --add tomcat
chkconfig tomcat on

启动tomcat:

service tomcat start

可在浏览器输入http://你的ip:8080,tomcat默认端口是8080,如果成功启动的话会看到tomcat主界面

(一般我们将项目部署到tomcat中后即将war包拷贝到tomcat的webapps 目录下,启动tomcat就可以自动解压访问项目了,但是一般我们会希望去掉项目名访问项目,故可以编辑 conf/service.xml 文件,在

 

后面增加 <Host ...>后面

<Context path="/" docBase="/opt/tomcat7/webapps/jeeplus/" reloadable="true" crossContext="true" /> )

b699af43cad35199e43c90501948f041c99.jpg

 

 

netstat -naop|grep 25123

5. mysql安装

方式一:

0、卸载老版本MySQL

查找并删除mysql有关的文件

find / -name mysql
rm -rf 上边查找到的路径,多个路径用空格隔开
#或者下边一条命令即可
find / -name mysql|xargs rm -rf

提前准备好文件mysql57-community-release-el7-11.noarch.rpm点击下载

一步步输入下面三条命令,即安装好MySQL

--rpm -ivh mysql57-community-release-el7-11.noarch.rpm

--yum install mysql-server

--yum install mysql-devel

配置

--systemctl start mysqld    //打开MySQL服务

--systemctl status mysqld   //可以查看MySQL服务是否正常打开(可省略

160030_PufF_2950677.png

由图可见MySQL已经正常启动

--vi /var/log/mysql.log     //查看并编辑MySQL的配置文件(可省略

--grep "password" /var/log/mysqld.log    //用这条命令可快速找到MySQL的初始密码,方便你登录后修改

--mysql –uroot –p    //然后输入密码

--set password for'root'@'localhost'=password('newpasswd');    //修改MySQL数据库密码(这里要注意的是新密码必须是大写开头,包含大、小写字母,特殊符号等)

161453_TP8M_2950677.png

一般我们一般不要求密码那么复杂,故我们可以通过如下设置:

必须修改两个全局参数:

首先,修改validate_password_policy参数的值

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_mixed_case_count=2;
Query OK, 0 rows affected (0.00 sec)

这样我们就可以重新设置我们的简历密码了

--set password for'root'@'localhost'=password('123456');  

配置连接

比如我想用本机上的SQLyog连接刚才配置的阿里云服务器上的MySQL数据库,还需要这一步:

-- grant all on *.* to root@'%' identified by'123456' with grant option;    //[root]是远程连接的【用户名】,[123456]是远程连接的【密码】

162617_1HXG_2950677.png

编码

mysql配置文件为/etc/my.cnf

最后加上编码配置

[mysql]
default-character-set =utf8

这里的字符编码必须和/usr/share/mysql/charsets/Index.xml中一致。

 

方式二:

1、下载

    下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads

    下载版本:我这里选择的5.6.33,通用版,linux下64位也可以直接复制64位的下载地址,通过命令下载:wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz

find / -name mysql rm -rf 上边查找到的路径,多个路径用空格隔开

#或者下边一条命令即可 find / -name mysql|xargs rm -rf

2. 解压包并重新命名

142210_8l3a_2950677.png

或者

cp mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql -r

3、添加mysql用户组和mysql用户

先检查是否有mysql用户组和mysql用户

groups mysql

Paste_Image.png

若无,则添加;

groupadd mysql
useradd -r -g mysql mysql

Paste_Image.png


若有,则跳过;

4、进入mysql目录更改权限

cd mysql/
chown -R mysql:mysql ./

5、执行安装脚本

./scripts/mysql_install_db --user=mysql

如果出现问题 

FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:

Data::Dumper

解决方法是安装autoconf库

执行命令:yum -y install autoconf

安装完成之后继续执行安装mysql的命令:./scripts/mysql_install_db --user=mysql

问题解决。

安装完之后修改当前目录拥有者为root用户,修改data目录拥有者为mysql

chown -R root:root ./
chown -R mysql:mysql data

6、更改mysql密码

上一步安装脚本执行输出的日志中告诉我们如何更改密码了

142724_mdie_2950677.png

执行 ./bin/mysqladmin -u root password 'root' 改密码发现如下错误:

142847_dT4f_2950677.png

因为这时还没有启动mysql

启动方法如下:

./support-files/mysql.server start

如果MySQL启动报错,则可能是已经存在MySQL进程,杀掉即可(再执行上面的命令启动)

ps aux|grep mysql
kill -9 上边的进程号
#或者下边一条命令即可杀掉所有MySQL进程
ps aux|grep mysql|awk '{print $2}'|xargs kill -9

 

MySQL启动之后再执行如下命令更改密码:

./bin/mysqladmin -u root -h localhost.localdomain password 'root'

密码更改后即可登录MySQL

./bin/mysql -h127.0.0.1 -uroot -proot

登录之后将其他用户的密码也可改为root

update mysql.user set password=password('root') where user='root';
flush privileges;

(错误:

root@DB-02 ~]# mysql -u root
-bash: mysql: command not found

原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。
首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/local/mysql/bin/mysql,我们则可以这样执行命令:

# ln -s /usr/local/mysql/bin/mysql /usr/bin

7、增加远程登录权限

上一步即可本地登录,但远程登录会报错

需要本地登陆MySQL后执行如下命令

grant all privileges on *.* to root@'%' identified by 'root';
flush privileges;

150618_gvVm_2950677.png

 

8、将MySQL加入Service系统服务

mysql设置开机启动

1、cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld   将服务文件拷贝到init.d下,并重命名为mysqld

2、chmod +x /etc/init.d/mysqld    赋予可执行权限

3、chkconfig --add mysqld        添加服务

4、chkconfig --list             显示服务列表

cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
service mysqld restartservice mysqld status

154139_2K1X_2950677.png

如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则键入

chkconfig --level 345 mysql on

5、reboot重启电脑

6、netstat -na | grep 3306,如果看到有监听说明服务启动了

154341_3n2G_2950677.png

 

 

 

 

150216_y2xt_2950677.png

 

 

6. 防火墙

 

通过systemctl status firewalld查看firewalld状态

通过systemctl start firewalld开启防火墙,没有任何提示即开启成功

再次通过systemctl status firewalld查看firewalld状态,显示running即已开启了

如果要关闭防火墙设置,可能通过systemctl stop firewalld这条指令来关闭该功能

154010_vMB0_2950677.png

 

 

 

 

参考文档:https://www.cnblogs.com/jimmy-muyuan/category/773052.html

 

转载于:https://my.oschina.net/newdeng/blog/1822755

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/451589.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mybatis内部类映射写法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. B类是A类中的内部类。 2.  映射写法&#xff1a; com.XXX.A$B , 注意A类和B类之间用 $ 表示内外关系&#xff0c;而不是常用的 …

集群,分布式,微服务的区别

参考文献&#xff1a; 集群,分布式&#xff0c;微服务概念和区别理解 谢谢作者分享&#xff01;

Linux bash总结(一) 基础部分(适合初学者学习和非初学者参考)

第一部分 bash简介 —— 对bash进行简要介绍 第二部分 bash示例和书写流程 —— 以一个简单的bash为例&#xff0c;说明书写、执行bash的流程 第三部分 bash基础语法 —— 本章内容比较多&#xff0c;主要介绍if...else...条件判断&#xff0c;for循环等等。对于有编…

用 Python 语言来写游戏

每个程序员差不多都是从计算机爱好者开始的&#xff0c;尤其是那些令人心醉神迷的电脑游戏&#xff0c;不仅造就了整个游戏产业&#xff0c;推动了计算机行业软硬件的升级&#xff0c;而且吸引了大量的爱好者最终加入了游戏软件开发的行业。腾讯、网易、盛大、完美时空等公司的…

各种操作系统简介和功能分析

Windows 开发商 Microsoft Windows98/me Windows2000/XP Windows Server2003 Windows Vista Windows98/me是基于MS-DOS的混合的16/32位操作系统正慢慢的退出PC舞台了,2000/X P以及Server2003都是基于WindowsNT的32位操作系统,XP/Server2003已经有64位版本了。 Vista是微软最…

Cookie与Session的区别

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 cookie机制 Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器。IETF RFC 2965 HTTP State Management Mec…

python实现简易工资管理系统(Salary Manage)源码

一、需求&#xff1a; 1.导入文件读取员工的信息和工资信息&#xff0c;最后将增加、删除或修改的员工工资信息写入原来的文件中 2.能够实现员工工资信息的增删改查 3.当增加和修改员工信息时用户用空格分隔员工姓名和薪资 4.实现退出功能 二、思路 1.首先需要将包含有员工薪资…

python 的作用

print正常是要输出到屏幕上&#xff0c;如果你希望输出到其他地方比如文件&#xff0c;就需要使用>>来把输出导向到文件。空格的目的是要区分关键词&#xff0c;如果你输入的是print>>&#xff0c;电脑会把它当成一个单词&#xff0c;而无法知道是print函数。

操作系统内存管理

参考文献&#xff1a; 20 张图揭开内存管理的迷雾 感谢三太子敖丙分享&#xff01;

hexo github搭建博客常用的命令

这些命令你都用过吗&#xff1f; npm install hexo -g #安装 npm update hexo -g #升级 hexo init #初始化 hexo new "postName" #新建文章 hexo new page "pageName" #新建页面 hexo generate #生成静态页面至public目录 hexo server #开启预览访问端口&a…

写博客的好处,专家告诉你

把自己平时在做项目时和自己学习时的一些经验和心得记录下来。那样&#xff0c;首先可以增强自己对知识点的理解&#xff1b;其次&#xff0c;以后再用到的话&#xff0c;可以很方便的查询&#xff1b;最后&#xff0c;才是分享给大家&#xff0c;可以在用到这方面的知识的时候…

解决报错:java.util.UnknownFormatConversionException: Conversion = ‘p‘

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. ssm框架下 报错如题 2. 错误原因&#xff1a;我的情况是&#xff0c;代码中实体属性映射书写和数据库字段名字不一致。 选中位置数据…

JVM和JMM的区别

参考文献&#xff1a; java中JVM和JMM之间的区别 感谢作者分享&#xff01;

[Java][网络编程]服务端向客户端发送信息

/*前置知识&#xff08;服务端&#xff09;1.首先要常见一个ServerSocket对象 服务端套接字&#xff0c;并且在服务端套接字里面确定需要使用的端口2.然后要创建一个Socket对象来接收ServerSocket的返回值。通常一个Socket对象对应一个客户端/涉及到多个客户端需要通过线程来解…

【Python】如何判断一个字符串为空

#方法一 if oneString: print "not empty" else: print "empty" #方法二 if oneString "": print "empty" else: print "not empty"

LRU 实现缓存

LRU:Least Recently used 最近最少使用 1.使用LinkedHashMap实现 inheritance实现方式 继承map类 可以使用Collections.synchronizedMap方式实现线程安全的操作 public class LruCache<K,V> extends LinkedHashMap<K,V> {private final int MAX_CACHE_SIZE;public …

使用vsftp作为集群的yum仓库

地址规划&#xff1a;vsftp服务器的地址为172.16.1.61使用的环境&#xff1a;[rootnfs01 scripts]# uname -a Linux nfs01 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux首先在yum服务器上挂载本地光盘mkdir /media/cdrom ;mount…

纯做技术是自娱自乐 抛开技术做技术才是出路

短短一生不过数十载&#xff0c;对于很多人而言&#xff0c;作IT、作技术只是生命中的某一段&#xff0c;并非所有。而无论是换工作还是换行业&#xff0c;只是一种形式而已&#xff0c;最终我们追求的是成功、是荣誉、是收获。于是在年轻的这几年里&#xff0c;作为技术人员理…

TOAD连接Oracle数据库失败:OCI_INVALID_HANDLE解决

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. toad 连接Oracle数据库连接失败如图&#xff1a; 2. 导致这个情况的前因&#xff1a;toad运行情况下&#xff0c;突然断电。 3. 解决…

多线程三大特性:原子性、有序性、可见性

参考文献&#xff1a;三大性质总结&#xff1a;原子性&#xff0c;有序性&#xff0c;可见性 感谢作者分享&#xff01;