我選的是1GB的套餐,每個月$20,年付減10%,實付$230.21折合人民幣1400多點。 Linode 1GB 操作系統(tǒng): CentOS Linux 6.2 64bit 運行環(huán)境: Nginx+PHP+MySQL 準備工作 編譯環(huán)境部署: 在服務器上啟用編譯環(huán)境是非常危險的做法,為了保證安全我專門用一個虛擬機
我選的是1GB的套餐,每個月$20,年付減10%,實付$230.21折合人民幣1400多點。
操作系統(tǒng): CentOS Linux 6.2 64bit
運行環(huán)境: Nginx+PHP+MySQL
準備工作
編譯環(huán)境部署:
在服務器上啟用編譯環(huán)境是非常危險的做法,為了保證安全我專門用一個虛擬機來做編譯工作,編譯完成后再將程序部署至服務器即可。
根據VPS操作系統(tǒng)情況下載安裝CentOS 6.2 64bit, 因為只是做編譯機,所以只要裝 Minimal 版就可以了,幾百M,下載也很快。
歷史版本的ISO文件可以在 http://vault.centos.org 找到。
Minimal版本安裝好后不會自動啟動網絡,需要執(zhí)行以下操作:
運行命令
dhclient -v eth0
修改文件 /etc/sysconfig/network-scripts/ifcfg-eth0
在文件最后添加一行
BOOTPROTO="dhcp"
再把ONBOOT="no"改成ONBOOT="yes"
這樣以后啟動都自動連接網絡了。
用root登陸后在/root目錄建立packages、build兩個目錄,分別用于放置安裝包和解壓后的程序目錄。
# 安裝
yum install gcc make cd mkdir packages build
創(chuàng)建用戶
groupadd -g 500 www && useradd -g 500 -m -u 500 www groupadd -g 501 Hessian && useradd -g 501 -m -u 501 Hessian groupadd -g 27 mysql && useradd -d /www/database -M -g 27 -u 27 mysql
環(huán)境變量
修改文件/etc/profile,將下面的內容加到文件末尾
PATH=$PATH:/opt/mysql/bin PATH=$PATH:/opt/php/bin PATH=$PATH:/opt/nginx/sbin
添加完成后執(zhí)行: . /etc/profile
(中間的空格可別漏)
Nginx
下載地址:http://nginx.org/en/download.html
1. 下載
cd ~/packages wget http://nginx.org/download/nginx-1.4.1.tar.gz
2. 解壓
cd ~/build tar -zxf ~/packages/nginx-1.4.1.tar.gz
3. 解決依賴
yum install pcre-devel yum install zlib-devel
3. 編譯
cd nginx-1.4.1 ./configure --prefix=/opt/nginx-1.4.1 --with-pcre --with-openssl=/usr make -j 2 && make install
MySQL
下載地址:http://dev.mysql.com/downloads/mysql
這里我選擇的是Binary包
Linux - Generic (glibc 2.5) (x86, 64-bit), Compressed TAR Archive
mysql-5.6.11-linux-glibc2.5-x86_64.tar.gz
下載之后解壓縮即可使用
PHP
雖然YUM有提供PHP,但是出于性能方面和個人需要的考慮我還是選擇自己編譯。
PHP版本我用的是5.3 主要是不知道5.4會不會帶來什么兼容性問題。
下載地址:http://cn2.php.com/get/php-5.3.24.tar.bz2/from/a/mirror
1. 下載
cd ~/packages wget http://cn2.php.com/get/php-5.3.24.tar.bz2/from/this/mirror
2. 解壓
cd ~/build tar -zjf ~/packages/php-5.3.24.tar.gz
3. 解決依賴
yum install libxml2-devel yum install libcurl-devel yum install libjpeg-devel yum install libpng-devel yum install freetype-devel yum install autoconf
libmcrypt 在yum里沒有,可以從EPEL里下載
EPEL(Extra Packages for Enterprise Linux)是Fedora社區(qū)打造的為 RHEL 及衍生發(fā)行版如 CentOS、Scientific Linux 等提供高質量軟件包的項目。
安裝
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/libmcrypt-2.5.8-9.el6.x86_64.rpm rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/libmcrypt-devel-2.5.8-9.el6.x86_64.rpm
3. 編譯
cd php-5.3.24 ./configure --prefix=/opt/php-5.3.24 \ --with-config-file-path=/opt/php \ --with-mysql=mysqlnd \ --with-mysql-sock=/tmp/mysql.sock \ --with-iconv-dir=/usr \ --enable-xml \ --with-libxml-dir \ --disable-rpath \ --enable-safe-mode \ --enable-inline-optimization \ --with-curl \ --enable-mbregex \ --with-gd \ --enable-zip \ --enable-sockets \ --enable-mbstring=all \ --with-mcrypt \ --enable-gd-native-ttf \ --with-freetype-dir=/usr \ --with-jpeg-dir=/usr \ --with-png-dir=/usr\ --with-pdo-mysql=mysqlnd \ --without-pdo-sqlite \ --enable-fpm \ --enable-cli make -j2 make install
4. 編譯擴展
后續(xù)步驟
cd /opt ln -s mysql-5.6.11-linux-glibc2.5-x86_64 mysql ln -s nginx-1.4.1 nginx ln -s php-5.3.24 php tar -czf servers.tar.gz *
將配置文件、啟動腳本以及servers.tar.gz 上傳到服務器,解壓到/opt,放置好配置文件和啟動腳本。
VPS 安裝步驟
解決依賴
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/libmcrypt-2.5.8-9.el6.x86_64.rpm yum install libpng libjpeg freetype yum install svn
創(chuàng)建用戶
groupadd -g 500 www && useradd -g 500 -m -u 500 www groupadd -g 501 Hessian && useradd -g 501 -m -u 501 Hessian groupadd -g 27 mysql && useradd -d /www/database -M -g 27 -u 27 mysql
上傳并解壓
將servers.tar.gz、配置文件、啟動腳本放到服務器
tar -zxf servers.tar.gz -C /opt tar -zxf init-scripts.tar.gz -C /etc/init.d
添加服務
chkconfig --add nginx chkconfig --add mysql chkconfig --add php-fpm
建立資源目錄
mkdir /www mkdir /www/database mkdir /www/logs mkdir /www/svn-repos
調整目錄權限
chown www:www -R /www chown mysql:mysql -R /www/database
環(huán)境變量
修改文件/etc/profile,將下面的內容加到文件末尾
PATH=$PATH:/opt/mysql/bin PATH=$PATH:/opt/php/bin PATH=$PATH:/opt/nginx/sbin
添加完成后執(zhí)行: . /etc/profile
(中間的空格可別漏)
安全設置
SSH設置:
修改/etc/ssh/sshd_config
1. 禁用root登陸:PermitRootLogin no
2. 禁用密碼登陸:PasswordAuthentication no
3. 啟用密鑰登陸:
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
將公鑰加入到服務器上 .ssh/authorized_keys中,生成密鑰及具體設置方法參考:
http://stevenz.blog.hexun.com/15798089_d.html
在客戶端可以通過下面的命令直接將公鑰添加到服務器上:
cat??~/.ssh/id_rsa.pub | ssh?zhaoy@192.168.1.1?"cat - >> ~/.ssh/authorized_keys"
執(zhí)行完成后重啟sshd
service sshd restart
如果無法登陸可以查看安全日志 /var/log/secure 確定問題原因。
防火墻設置:
創(chuàng)建文件/etc/sysconfig/iptables,加入以下內容
*filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT
這里只開放了22、80、3690三個有限的端口,如果有其他需要再自己參考添加就行。
原文地址:Linode LNMP服務器環(huán)境配置筆記, 感謝原作者分享。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com