воскресенье, 18 декабря 2016 г.

Установка java, tomcat, postgresql на centOS 6.8


Недавно на работе нужно было настроить сервер на centOS для развертывания приложения, решил оставить инструкцию, вдруг еще пригодится. Прежде всего необходимо зайти под рутом, для это достаточно выполнить su в терминале и ввести пароль root, далее
1. устанавливаем Java от оракл:
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u60-b27/jdk-8u60-linux-x64.rpm"
Происхот скачивание, далее необходимо установить скачанный пакет:
yum localinstall jdk-8u60-linux-x64.rpm
После данных манипуляций, Java установится по пути:
/usr/java

и будет работать команда java -version, но данная установка не прописывает переменную JAVA_HOME, а она используется, например, tomcat'ом. Так что необходимо самим прописать данную переменную. Для этого переходим в /etc/profile.b/ и создаем sh файл, с любым названием, туда необходимо записать:
export JAVA_HOME=/usr/java/jdk1.8.0_60
export PATH=$PATH:$JAVA_HOME/bin
вот и все, переходим к установке томката 2. Создаем группу и пользователя и выкачиваем пакет:
groupadd tomcat
useradd -M -s /bin/nologin -g tomcat -d /opt/tomcat tomcat
wget http://apache-mirror.rbc.ru/pub/apache/tomcat/tomcat-8/v8.0.39/bin/apache-tomcat-8.0.39.tar.gz
mkdir /opt/tomcat
tar xvf apache-tomcat-8*tar.gz -C /opt/tomcat --strip-components=1
Раздаем права доступа:
cd /opt/tomcat
chgrp -R tomcat conf
chmod g+rwx conf
chmod g+r conf/*
chown -R tomcat webapps/ work/ temp/ logs/
Объявляем сервис
gedit /etc/init.d/tomcat8
с таким содержанием:
#!/bin/bash
#
# tomcat8
#
# chkconfig: - 80 20
#
### BEGIN INIT INFO
# Provides: tomcat8
# Required-Start: $network $syslog
# Required-Stop: $network $syslog
# Default-Start:
# Default-Stop:
# Description: Tomcat 8
# Short-Description: start and stop tomcat
### END INIT INFO

## Source function library.
#. /etc/rc.d/init.d/functions
export JAVA_HOME=/usr/java/default
export JAVA_OPTS="-Dfile.encoding=UTF-8 \
  -Dnet.sf.ehcache.skipUpdateCheck=true \
  -XX:+UseConcMarkSweepGC \
  -XX:+CMSClassUnloadingEnabled \
  -XX:+UseParNewGC \
  -XX:MaxPermSize=128m \
  -Xms512m -Xmx512m"
export PATH=$JAVA_HOME/bin:$PATH
TOMCAT_HOME=/opt/tomcat
TOMCAT_USER=tomcat
SHUTDOWN_WAIT=20

tomcat_pid() {
  echo `ps aux | grep org.apache.catalina.startup.Bootstrap | grep -v grep | awk '{ print $2 }'`
}

start() {
  pid=$(tomcat_pid)
  if [ -n "$pid" ] 
  then
    echo "Tomcat is already running (pid: $pid)"
  else
    # Start tomcat
    echo "Starting tomcat"
    ulimit -n 100000
    umask 007
    /bin/su -p -s /bin/sh $TOMCAT_USER $TOMCAT_HOME/bin/startup.sh
  fi


  return 0
}

stop() {
  pid=$(tomcat_pid)
  if [ -n "$pid" ]
  then
    echo "Stoping Tomcat"
    /bin/su -p -s /bin/sh $TOMCAT_USER $TOMCAT_HOME/bin/shutdown.sh

    let kwait=$SHUTDOWN_WAIT
    count=0;
    until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ]
    do
      echo -n -e "\nwaiting for processes to exit";
      sleep 1
      let count=$count+1;
    done

    if [ $count -gt $kwait ]; then
      echo -n -e "\nkilling processes which didn't stop after $SHUTDOWN_WAIT seconds"
      kill -9 $pid
    fi
  else
    echo "Tomcat is not running"
  fi
 
  return 0
}

case $1 in
start)
  start
;; 
stop)   
  stop
;; 
restart)
  stop
  start
;;
status)
  pid=$(tomcat_pid)
  if [ -n "$pid" ]
  then
    echo "Tomcat is running with pid: $pid"
  else
    echo "Tomcat is not running"
  fi
;; 
esac    
exit 0

Теперь можно запускать сервис томката командой service tomcat8 start 3 Postgresql Добавим репозиторий и скачаем устанощик:
rpm -Uvh http://yum.postgresql.org/9.5/redhat/rhel-6-x86_64/pgdg-redhat95-9.5-2.noarch.rpm
yum install postgresql95-server postgresql95
Далее необходимо инициализировать базу:
service postgresql-9.5 initdb
service postgresql-9.5 start
осталось только отредактировать pg_hba.conf добавив нужные ip, вот и все

понедельник, 5 декабря 2016 г.

Past Perfect Continuous

Используется:

  • для выражения длительного прошедшего действия, которое началась ранее другого прошедшего действия и еще продолжилось, в момент совершения последнего. Момент, в течение которого действие уже совершилось, обозначен словами: for three hours, for a month, for some time, since two o'clock, since she came, all day long, all his life. I had been waiting for him for three hours when he come. Когда он пришел, я прождал его три часа!
  • когда речь идет о длительном событии/действии, которое закончилось перед определенным событием/действием в прошлом. Период действия может быть как указан, так и нет. My brother looked so tired. I knew he had been working a lot.

Вопрос Утверждение Отрицание
Had + I, you, He, She, It, We, They + been + глагол+ing I, you, He, She, It, We, They + had been + глагол+ing I, you, He, She, It, We, They + had not been + глагол+ing

Past Perfect

Используется, когда:

  • действие завершилось до какого то момента в прошлом. Этот момент обозначен словами: by three o'clock, by Sunday, by then, by that time, by the end of the year. I had written a letter by the three o'clock.
  • мы говорим о действии, которое случилось раньше другого действия в прошлом. Для более раннего используется Past Perfect, для более позднего используется Past Simple. When she come to the station, the train had already gone.


Вопрос Утверждение Отрицание
Had + I,you, He, She, It, we, They + глагол+ed/3 форма
В вопросах со словом What может не быть существительного:
What had happend before you come.
I,you, He, She, It, we, They + had + глагол + ed/3 форма I,you, He, She, It, we, They + had not + глагол + ed/3 форма
Слово never используется вместо частицы not
I had never tried shrimps before I went to Thailand.

Present Perfect Continuous

Используется, когда говорим о действии:
  •  которое началось в прошлом, происходит сейчас и, возможно, будет продолжаться в будущем, важна продолжительность действия, я не результат, как в Present Perfect. I have already reading this newspaper for two hours. (Я читаю эту газету уже два часа).
  • которое закончилось только что или чуть раньше. Т.е. о каком то действии, которое началось в прошлом, продолжалось какое то время и только что закончилось. Результат действия, указывает на то, что действие только что закончилось. The grass is wet. It has been raining.
Важно знать, что в английском языке есть глаголы, которые не употребляются ни в каких временах группы Continuous. Это глаголы like, believe, think, love, want, belong, own, have и т.д. Обычно, это глаголы, которые обозначают состояния,  чувства, а так же действия, которые нельзя наблюдать. John has had his car for three years.


Вопрос Утверждение Отрицание
Have + I, we, you, they + been + глагол + ing
Has + He,She,It + been + глагол+ing
I, we, you, they + have been + глагол + ing
He, She, It + has been + глагол+ing
I,we, you, they + have not been +глагол + ing
He, She, It + has not been + глагол+ing

Present Perfect

Используется, чтобы рассказать:

  • о результате, т.е. действие произошло в прошлом, но актуально в настоящем. Хотя действие произошло в прошлом, его результат виден и выжен в настоящем. I have broken a cup.
  • о жизненном опыте, о действиях и событиях, которые когда-либо происходили в вашей жизни, о том что вы когда либо видели или слышали. I have been to London. (Я был в Лондоне)
  • о тех ситуациях, которые менялись в течение периода времени.  My German has really improved since I moved to German.
  • о достижениях человека или всего человечества. Our son has learned how to read.
  • о действиях, которые повторялись несколько раз в прошлом. I have tried to open the door several times.
  • о незавершенных действиях в прошлом. My brother hasn't washed all the plates yet.
Present Perfect используется с JUST, но не используется с JUST NOW, c ним используется Past Simple. Present Perfect используется с наречиями, которые указывают на то что период, когда произошло действие, еще не закончился: today, this year, this month, already, before, ever, never, lately, yet, since, for, so far.
Часто используется Present Perfect, если в предложении есть слова:
  • already
  • ever
  • never
  • lately
  • recently
  • yet
  • since
  • for 
  • so far


Вопрос Утверждение Отрицание
Have + I, we, you, the + глагол + ed/третья форма глагола
Has + He,She,It + глагол + ed/ третья форма
В вопросительных предложениях. со словами Who, What может не быть существительного:
What has happened to you
I, we, you, they + have + глагол+ed/третья форма глагола
He, She, It + has + глагол+ed/третья форма глагола
I, we, you, they + have not + глагол+ed/третья форма глагола
He, She, It + has not + глагол+ed/третья форма глагола
так же можно использовать слово never, оно ставится вместо частицы not:
I have never jumped on a parachute