'Ubuntu' 标签

从一台裸VPS开始部署一个应用运行环境

从一台Ubuntu Server 14.0.4裸服务器开始,第一步,SSH登录后立马修改root密码:

passwd //根据提示输入新密码即可

SSH 安全配置,禁用root登录,新建用户并赋予root权限 - sudo
adduser newmen //新建一个用户-newmen;输入密码后,附加信息可以不用理

gpasswd -a newmen sudo //赋予newmen 通过sudo行驶root权限的能力

如果需要,还可以
visudo

在root    ALL=(ALL:ALL) ALL 这行的下面添加
newmen    ALL=(ALL:ALL) ALL // 不添加这一行,会导致文件只能上传到users所拥有的目录。

如果选择密匙的方式登录SSH,需进行公私密匙在本地和服务器端部署。

修改默认SSH端口22
vi /etc/ssh/sshd_config
Port 22 改为  Port 一个自定义端口(端口必须在1025与65536之间)
Protocol 2

禁用root登录以及
将PermitRootLogin yes 更改为 PermitRootLogin no

最后在最末行添加
UseDNS no
AllowUsers newmen

重启SSH服务
service ssh restart 或者 reload ssh

最后登登录SSH的方式
ssh -p 端口 newmen@IP地址

安装防火墙 iptables:

查看默认规则
sudo iptables -L 或者 sudo iptables -S

sudo iptables -F //弃用默认的规则

sudo iptables -P INPUT ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -F

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT //添加允许当前SSH链接规则,-A INPUT中的—A表示添加该规则到底部

sudo iptables -L //查看规则有哪些变化

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT //允许SSH端口通过,22改为自定义端口
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT //开放80端口

sudo iptables -I INPUT 1 -i lo -j ACCEPT //-I 告诉iptables插入该规则。 1表示需要一个链条和新规则要插的位置

sudo iptables -S //查看修改后的规则

sudo iptables -P INPUT DROP

保存配置的iptables规则,并选择自动加载当前规则

sudo apt-get update
sudo apt-get install iptables-persistent

搭建LEMP环境+Varnish 4X

sudo apt-get update
sudo apt-get install nginx
sudo apt-get install mysql-server
sudo mysql_install_db
sudo mysql_secure_installation //输入mysql root密码后,根据提示删除多余的数据
sudo apt-get install php5-fpm php5-mysql

sudo vi /etc/php5/fpm/php.ini
将cgi.fix_pathinfo=1 修改为 cgi.fix_pathinfo=0 //安全设置

sudo service php5-fpm restart

sudo vi /etc/nginx/sites-available/default
将内容更改为
server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /usr/share/nginx/html;
    index index.php index.html index.htm;

    server_name server_domain_name_or_IP;

    location / {
        try_files $uri $uri/ =404;
    }

    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

sudo service nginx restart

sudo vi /usr/share/nginx/html/info.php //测试php是否成功安装


浏览 http://server_IP/info.php ,看到PHP服务信息,基表示成功

sudo rm /usr/share/nginx/html/info.php

安装 Varnish 4X

apt-get install apt-transport-https
curl https://repo.varnish-cache.org/GPG-key.txt | sudo apt-key add -
echo "deb https://repo.varnish-cache.org/ubuntu/ trusty varnish-4.0" >> /etc/apt/sources.list.d/varnish-cache.list
apt-get update
apt-get install varnish

sudo vi /etc/default/varnish
DAEMON_OPTS="-a :80 \ //端口改为80

vi /etc/varnish/default.vcl //加入自己想加入的任何规则

sudo /etc/init.d/nginx restart
sudo /etc/init.d/varnish restart

PHP 5.5 开启Opcache

Ubuntu 14 下的PHP版本是PHP 5.5,它不再支持APC。默认状态下Opcache Mod处于关闭状态,需要手动开启。有个奇怪的问题,既然是提升自身性能的为啥不默认启用呢?

PHP 5.5开启Opcache:
sudo vi /etc/php5/fpm/php.ini

;opcache.enable=0 修改为 opcache.enable=1

再做下小调整,将对应的选项改成下面这样的设置:

opcache.memory_consumption=128
opcache.max_accelerated_files=4000
opcache_revalidate_freq=240
opcache.interned_strings_buffer=8
opcache.fast_shutdown=1

确保PHP Opcache模块部已启用
sudo php5enmod opcache

sudo service php5-fpm restart

sudo service nginx restart

想查看效果可以使用这个工具
https://github.com/rlerdorf/opcache-status

Ubuntu Server 14.04 安装或卸载 Varnish

在Ubuntu Server 14.04 LTS 安装Varnish,现在是4.0版,

  1. apt-get install apt-transport-https
  2. curl https://repo.varnish-cache.org/GPG-key.txt | apt-key add –
  3. echo “deb https://repo.varnish-cache.org/ubuntu/ precise varnish-4.0” >> /etc/apt/sources.list.d/varnish-cache.list
  4. apt-get update
  5. apt-get install varnish

在执行到apt-get update这一步如果提示sources无法读取,编辑并把“”里的源地址加#注释掉即可。

卸载 Varnish

  1. sudo apt-get remove varnish //删除 varnish package
  2. sudo apt-get remove –auto-remove varnish //删除相关的东西

如果也想删除配置文件(将无法通过重新安装包来恢复)
sudo apt-get purge varnish
或者
sudo apt-get purge –auto-remove varnish

最后别忘了重启服务器。

管理Varnish

varnishadm -S /etc/varnish/secret -T 127.0.0.1:6082 //登录并管理varnish
varnish>-V //查看版本
varnish> vcl.list //列出全部配置文件

VPS各种备份的SSH命令

例如:tar -czvf /var/backups/mysql.tar.gz -c /etc/mysql 是将数据库备份到var/backups。这里加“-c”参数就可以解决“tar: Removing leading `/’ from member names”这个提示。
还有:mysqldump -uwpdbuser -pmysqlpass mysqlname | gzip > backupdb.sql.gz
tar -zcvf /usr/backup/nginx_conf_$(date +%Y%m%d).tar.gz /usr/local/nginx/conf备份nginx配置文件

对于使用ubuntu的VPS可以在这里看到各种备份的SSH命令 这里有自动备份到Dropbox的教程。

Nginx Ubuntu Varnish WordPress – Amazon EC2

这里以Ubuntu 12.04 LTS为例,和Nginx,Varnish来搭建WordPress运行环境。

EC2的SSH登录名称是ubuntu,需要转到root状态下。

sudo -i

安装MySQL
apt-get install mysql-server mysql-client
过程中按提示设置root SQL password

安装Nginx
apt-get install nginx
/etc/init.d/nginx start
访问你实例的公共DNS URL,就会见到Welcome to nginx!’

配置防火墙
ufw allow ssh
ufw allow http
ufw enable
ufw status

安装PHP,通过PHP-FPM安装PHP和Mysql扩展
apt-get install php5-fpm php5-mysql

Ubuntu Server12 Installing Wine

Ubuntu server12 上安装 Wine
sudo add-apt-repository ppa:ubuntu-wine/ppa sudo apt-get updatesudo apt-get install wine1.5 //(wine1.5)你要装的版本号
或者/
sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update
sudo apt-get install wine1.5 //(wine1.5)你要装的版本号
安装完成打开 Notepad 没问题即Wine 成功安装 。下载的exe程序安装文件后,双击即可安装。尝试在Wine下安装Chrome,一登录到Chrome的下载页面,Wine自带的IE就立马X掉。

Ubuntu Server 12 安装 Chrome

wget https://dl.google.com/linux/direct/google-chrome-stable_current_i386.deb

sudo dpkg -i ./google-chrome*.deb

sudo apt-get -f install

奇怪的是依然无法在Root下运行。无论是将/opt/google/chrome/chrome里的“geteuid“改为“getppid”. 或是将opt/google/chrome/google-chrome里的exec -a “$0″ “$HERE/chrome” “$@”改为exec -a “$0″ “$HERE/chrome” “$@” –user-data-dir。Chrome完全没反应,网上找到的方法都试了。

解决Ubuntu Server中英文乱码问题

试用Ubuntu几天后,这东西明显是靠谱,运行比Cent OS顺畅得多,而且界面非常漂亮,特别是桌面版很华丽!有前途!而且Ubuntu的社区支持也不错。

在安装Ubuntu Server的时候,如果是装英文版然后再转中文的话,就会出现显示的字符出现乱码问题。就算装了中文语言包,Ubuntu Server也无法显示中文,所以还得往EN里走。

如果按照网上有些文章所说的,把LANG=”en_US.UTF-8″和LANGUAGE=”en_US:en” 改为了LANG=”zh_CN.UTF-8″ 和LANGUAGE=”zh_CN:zh” 出现以下提示:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = “en_GB:en”,
LC_ALL = (unset),
LANG = “en_GB”
are supported and installed on your system.
perl: warning: Falling back to the standard locale (“C”).

可以执行下面这句命令:

sudo locale-gen en_US.UTF-8

或者可以试下将LC_ALL = (unset),改为LC_ALL = (en_US.UTF-8)

reboot 后就没问题了。

Ubuntu Server 12.04 安装Gnome和VNC

Ubuntu Server 12.04 安装Gnome和VNC: 这是最新Ubuntu 的服务器版Ubuntu Server 12.04来安装Gnome桌面个VNC服务。

更新源:

sudo apt-get update

装gnome 核心:

sudo apt-get install gnome-core

安装VNC:

sudo apt-get install vnc4server

启动VNC:

vncserver

杀掉一次VNC进程:

vncserver -kill :1

编辑xstartup文件:

vi .vnc/xstartup 或者(vim .vnc/xstartup)

#!/bin/sh

# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
#exec /etc/X11/xinit/xinitrc
gnome-session –session=gnome-classic &

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
#x-terminal-emulator -geometry 1280×1024+10+10 -ls -title “$VNCDESKTOP Desktop” &
#x-window-manager &

编辑后的文件应该和上面的一样,就是加入了“gnome-session –session=gnome-classic &”这一句;Vi编辑模式下,按“a”进入编辑,编辑后按“Esc”推出,再按大写“ZZ”保存并退出。