您的位置:首页 > 运维架构 > Linux

【linux篇】linux软件安装及设置小Tip

2018-01-11 18:27 309 查看
一.安装jdk

1,安装:

使用rpm 命令很方便。rpm -ivh PACKNAME 。

具体解释:

-i: /PATH/TO/PACKAGE_FILE

-h: 以#显示进度;每个#表示2%;

-v: 显示详细过程


jdk安装的位置,如果使用了rpm是不可以制定路径的。rpm会把软件安装在自己设定的位置。

2:如果查看可使用:rpm

rpm -q PACKAGE_NAME:
查询指定的包是否已经安装

rpm -qa :
查询已经安装的所有包

rpm -qi PACKAGE_NAME:
查询指定包的说明信息;

rpm -ql PACKAGE_NAME:
查询指定包安装后生成的文件列表;

rpm -qc PACEAGE_NEME
:查询指定包安装的配置文件;

rpm -qd PACKAGE_NAME
: 查询指定包安装的帮助文件;

rpm -q --scripts PACKAGE_NAME:
查询指定包中包含的脚本

rpm -qf /path/to/somefile
: 查询指定的文件是由哪个rpm包安装生成的

如果某rpm包尚未安装,我们需查询其说明信息、安装以后会生成的文件。

3:设置环境变量

两种方式设置

1.可以在etc下的的profile文件,或

2.~/.bash_profile

区别在于,前者是启动时记载etc下的profile,然后用户登录时加载bash_profile. 自定义的环境变量需要放在Java的base_profile。每个用户之间不会影响。

export JAVA_HOME=/usr/java/default

export PATH=$PATH:$JAVA_HOME/bin


备:

default 为lrwxrwxrwx 1 root root 16 Jan 11 09:11 default -> /usr/java/latest

4.配置完成后,source filepath使其立即生效。

5.测试 java -version 或 jps

二、yum的使用(163yum源)

1.install: 安装

2.yum install PACKAGE_NAME

3.update: 升级

4.update_to: 升级为指定版本

5.remove|erase:卸载

说明:

第一次搜索完会在本地缓存数据库中,即使没用了下次任可以查。

想查看当前使用的是那个yum源,使用
yum repolist
查看

替换本地centos自带的yum的方式,比如用163的yum源,或者阿里的

阿里镜像站163的。

(具体方式见http://mirrors.163.com/.help/centos.html

操作说明:

1.下载上述链接中提供的centos文件【也可通过下面的wget方式下载】。然后上传服务器的:
/etc/yum.repos.d


2.可删除本地的centos自带的yum源。cd /etc/yum.repos.d/ 然后 rm -rf ./*.repo (建议先把centos自带的repo主文件做备份,文件以.backup结尾即可,其他自带的repo结尾的可删除)

备注:如果只下载某单个文件或者文件夹,可通过如下的wget的当时去下载。

wget http://mirrors.163.com/.help/CentOS6-Base-163.repo[/code] 
3.清理掉以前的缓存数据库,然后重制作缓存。如下操作:

yum clean all

yum makecache


三、创建本地yum源

1.先挂载一个光驱,然后 cd /mnt/cdrom 此为光驱文件所在位置。

挂载操作为:
mount /dev/cdrom /mnt/repos
(注:我的本地mnt下加repos路径,见下配置)

2.然后修改配置文件,到

cd /etc/yum.repo

mv CentOS6-Base-163.repo CentOS6-Base-163.repo.backup

cp CentOS6-Base-163.repo.backup my.repo


修改第15行为:

15 baseurl=file:///mnt/repos/ [注:如果用repos,repos目录是需要自己建的]

删除16 #mirrorlist= (已注释的,无所谓)

设置 gpgcheck=0 不检查yum源是否合法。

既然上面设置了不检查那就删除:
gpgkey=
行。

保存完就可以了。

测试速度,yum search mysql 查询速度会加快。

然后注意,我从163的文件里修改的,这里还有其他的库,如:[update]、[extras]、[centosplus].不需要都删除,可以留下update的库。可以不做设置处理。

本地yum源配置如下:my.repo

[my-base]
14 name=CentOS-my    // 可以设置随意名称
15 baseurl=file:///mnt/repos/   //这里需要修改
16 #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
17 gpgcheck=0  // 设置为0表示信任 ,不做检查
20 #released updates
21 [updates]
22 name=CentOS-$releasever - Updates - 163.com
23 baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/
24 #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
25 enabled=0  // 这里需要设置enable=0表示禁用 这个update库里没有repo路径不用它
26 gpgcheck=1
27 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6


四、安装nginx

源码安装步骤:

1、下载

2、查看源码【找到其编译的环境发现是c的源码,需要gcc】

3、准备编译环境

4、检查(依赖,兼容),预编译

5、编译

6、安装

具体操作如下:

1 检查gcc存在与否

rpm -qa | grep gcc

2 安装gcc软件

yum -y install gcc gcc-c++

3预编译nginx:

在nginx目录下找到configure文件,运行它。设置位置。

./configure –prefix=/usr/nginx-1.8

备注:过程提示缺少库,可使用yum进行安装。主要会缺,pcre、zlib

注意找到带“-devel”结果的内容进行安装。

4.编译

用make即可。检查是够成功,看是否生成“objs”文件夹。

5 安装

使用:make install

备: 安装依赖的包有:zlib 、zlib-devel、pcre、pcre-devel

启动nginx:cd /usr/local/nginx/sbin 然后启动 :./nginx 关闭:./nginx -s stop

如果感觉麻烦可以注册启动服务:

配置Nginx为系统服务,以方便管理

1、在/etc/rc.d/init.d/目录中建立文本文件nginx

2、在文件中粘贴下面的下面中的tengine的注册服务的配置。

五、安装tengine

1.同nginx安装。可把make和make install 写成一条命令。既:make && make install

2.启动tengine在sbin下nginx。./nginx即可。

3.访问测试:直接访问ip地址就可以。

但是前提保证关闭了防火墙。(service iptables stop)不然无法访问。

4.拓展:将tengine设成系统服务。写系统服务的启动脚本

修改22和25行的位置即可。

5.赋权 chmod +x filename

6.通过服务启动。service tengine start
e6ad

7.可设置成随机器启动: chkconfig tengine on

备注:可通过chkconfig –list 查看服务在不同服务模式下的开闭状态

可通过/etc/initab 查看不通模式的含义。

1 #!/bin/sh
2 #
3 # nginx - this script starts and stops the nginx daemon
4 #
5 # chkconfig:   - 85 15
6 # description:  Nginx is an HTTP(S) server, HTTP(S) reverse \
7 #               proxy and IMAP/POP3 proxy server
8 # processname: nginx
9 # config:      /etc/nginx/nginx.conf
10 # config:      /etc/sysconfig/nginx
11 # pidfile:     /var/run/nginx.pid
12
13 # Source function library.
14 . /etc/rc.d/init.d/functions
15
16 # Source networking configuration.
17 . /etc/sysconfig/network
18
19 # Check that networking is up.
20 [ "$NETWORKING" = "no" ] && exit 0
21
22 nginx="/usr/tengine-2.1/sbin/nginx"
23 prog=$(basename $nginx)
24
25 NGINX_CONF_FILE="/usr/tengine-2.1/conf/nginx.conf"
26
27 [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
28
29 lockfile=/var/lock/subsys/nginx
30
31 make_dirs() {
32    # make required directories
33    user=`nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
34    options=`$nginx -V 2>&1 | grep 'configure arguments:'`
35    for opt in $options; do
36        if [ `echo $opt | grep '.*-temp-path'` ]; then
37            value=`echo $opt | cut -d "=" -f 2`
38            if [ ! -d "$value" ]; then
39                # echo "creating" $value
40                mkdir -p $value && chown -R $user $value
41            fi
42        fi
43    done
44 }
45
46 start() {
47     [ -x $nginx ] || exit 5
48     [ -f $NGINX_CONF_FILE ] || exit 6
49     make_dirs
50     echo -n $"Starting $prog: "
51     daemon $nginx -c $NGINX_CONF_FILE
52     retval=$?
53     echo
54     [ $retval -eq 0 ] && touch $lockfile
55     return $retval
56 }
57
58 stop() {
59     echo -n $"Stopping $prog: "
60     killproc $prog -QUIT
61     retval=$?
62     echo
63     [ $retval -eq 0 ] && rm -f $lockfile
64     return $retval
65 }
66
67 restart() {
68     configtest || return $?
69     stop
70     sleep 1
71     start
72 }
73
74 reload() {
75     configtest || return $?
76     echo -n $"Reloading $prog: "
77     killproc $nginx -HUP
78     RETVAL=$?
79     echo
80 }
81
82 force_reload() {
83     restart
84 }
85
86 configtest() {
87   $nginx -t -c $NGINX_CONF_FILE
88 }
89
90 rh_status() {
91     status $prog
92 }
93
94 rh_status_q() {
95     rh_status >/dev/null 2>&1
96 }
97
98 case "$1" in
99     start)
100         rh_status_q && exit 0
101         $1
102         ;;
103     stop)
104         rh_status_q || exit 0
105         $1
106         ;;
107     restart|configtest)
108         $1
109         ;;
110     reload)
111         rh_status_q || exit 7
112         $1
113         ;;
114     force-reload)
115         force_reload
116         ;;
117     status)
118         rh_status
119         ;;
120     condrestart|try-restart)
121         rh_status_q || exit 0
122             ;;
123     *)
124         echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
125         exit 2
126 esac


五(拓):修改tengine的配置文件定制功能

1.启动workprocess进程数,设置成跟随系统配置,是几核就启动几个进程。

修改 /usr/tengine/conf/nginx.conf文件里的的 worker_processes 为 auto;

42 listen 80;

43 server_name localhost; // 最好设置成域名如果过个ip就写多个server

2.下面就是直接访问ip就可以访问的原因:

location / {

root html;

index index.html index.htm;

}

当然可以在/conf/html自定义访问首页。

3.location = 是精确匹配优先级最高。

location = /50x.html {

root html;

}

nginx中装tomcat等可让对应的.do等等请求访问。

4.访问控制

IP访问控制

location {

deny IP /IP段

deny 192.168.1.109;

allow 192.168.1.0/24;

}

5.用户认证访问

模块ngx_http_auth_basic_module 允许使用“HTTP基本认证”协议验证用户名和密码来限制对资源的访问。

location / {

auth_basic “hellow tc”;

auth_basic_user_file /opt/users;

}

操作:yum -y install httpd 生成用户名和密码的文件

htpasswd -cm /opt/users tc

service tengine reload

6.autoindex在浏览器中列出当前目录的文件索引

autoindex on;

操作:

1.mount /dev/cdrom /mnt/mirrors

2.修改nginx.conf 文件

location =/mirrors/ {

root /mnt/;

atuoindex on;

}

service tengine reload

备注:

查看内部命令:help xxx 查看外部命令:xxx –help 查看详细些:man xxx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: