CentOS 5 服務器 Nginx 環境推薦教程

一、系統約定
軟件源代碼包存放位置 /usr/local/src
源碼包編譯安裝位置(prefix) /usr/local/software_name
腳本以及維護程序存放位置 /usr/local/sbin
MySQL 數據庫位置 /var/lib/mysql(可按情況設置)
網站根目錄 /home/www/wwwroot(可按情況設置)
虛擬主機日誌根目錄 /home/www/logs(可按情況設置)
運行賬戶 www:www
二、系統環境部署及調整
1、檢查系統是否正常
# more /var/log/messages (檢查有無系統級錯誤信息)
# dmesg (檢查硬件設備是否有錯誤信息)
# ifconfig(檢查網卡設置是否正確)
# ping www.163.com (檢查網絡是否正常)
# cat /proc/cpuinfo (檢查CPU頻率是否正常)
# top (按1檢測CPU核數是否正常,內存大小是否正常)
2、關閉不需要的服務
# ntsysv
以下僅列出需要啓動的服務,未列出的服務一律推薦關閉:
atd
crond
irqbalance
microcode_ctl
network
sendmail
sshd
syslog
關閉SElinux:修改/etc/selinux/config文件中的SELINUX= 爲 disabled
3、更換yum國內源
# cd /etc/yum.repos.d
# mv CentOS-Base.repo CentOS-Base.repo.save
# wget http://centos.ustc.edu.cn/CentOS-Base.repo.5
# mv CentOS-Base.repo.5 CentOS-Base.repo
# yum clean all
4、服務器時間檢查和設置
#data (檢查時間是否正確,是否是中國時間CST)
#cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime (如果時區不對,則執行,時間正常的跳過)
#yum -y install ntp (安裝ntp對時工具)
#chkconfig ntpd on (讓對時服務開機啓動)
5、使用 yum 對系統進行更新並且安裝必要軟件包
#yum update –y
#yum -y install make openssl openssl-devel pcre pcre-devel libpng libpng-devel libjpeg-6b libjpeg-devel-6b freetype freetype-devel gd gd-devel zlib zlib-devel gcc gcc-c++ libXpm libXpm-devel ncurses ncurses-devel libmcrypt libmcrypt-devel libxml2 libxml2-devel imake autoconf automake screen sysstat compat-libstdc++-33 curl curl-devel
6. 重新啓動系統
# init 6
三、編譯安裝L.A.M.P環境
1、下載軟件(截止到09年10月的最新版本)
# cd /usr/local/src
#wget http://sysoev.ru/nginx/nginx-0.7.63.tar.gz
#wget http://download.scientificlinux.net/nginx
#wget http://download.scientificlinux.net/php-fpm.conf
#wget http://download.scientificlinux.net/nginx.conf
#wget http://download.scientificlinux.net/fcgi.conf
#wget http://download.scientificlinux.net/php-5.2.10.tar.gz
#wget http://download.scientificlinux.net/php-5.2.10-fpm-0.5.13.diff.gz
#wget http://download.scientificlinux.net/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz (32位系統)
#wget http://download.scientificlinux.net/ZendOptimizer-3.3.3-linux-glibc23-x86_64.tar.gz (64位系統)
#wget http://download.scientificlinux.net/mysql-5.1.39-linux-i686-glibc23.tar.gz (32位系統)
#wget http://download.scientificlinux.net/mysql-5.1.39-linux-x86_64-glibc23.tar.gz (64位系統)
2、安裝MySQL

複製代碼
代碼如下:

cd /usr/local/src
tar zxvf mysql-5.1.39-linux-i686-glibc23.tar.gz
mv mysql-5.1.39-linux-i686-glibc23 /usr/local/
ln -s /usr/local/mysql-5.1.39-linux-i686-glibc23/ /usr/local/mysql
groupadd mysql
useradd -g mysql mysql
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql-5.1.39-linux-i686-glibc23/
cd /usr/local/mysql
./scripts/mysql_install_db --user=mysql
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod 755 /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 3 mysqld on
cp ./support-files/my-huge.cnf /etc/my.cnf
mv /usr/local/mysql/data /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql

編輯/etc/my.cnf
在 [mysqld] 段增加
datadir = /var/lib/mysql
skip-innodb
wait-timeout = 10
max_connections = 512
max_connect_errors = 10000000
在 [mysqld] 段修改
max_allowed_packet = 16M
thread_cache_size = CPU個數*2
將 log-bin 註釋
service mysqld start
bin/mysqladmin -u root password 'password_for_root'
其中引號內的password_for_root是要設置的root密碼
3、安裝Nginx

複製代碼
代碼如下:

cd /usr/local/src/
tar zxvf nginx-0.7.63.tar.gz
cd nginx-0.7.63
./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --with-http_realip_module --with-http_addition_module --with-http_gzip_static_module --with-http_random_index_module --with-http_stub_status_module --with-http_sub_module --with-http_dav_module
make
make install
cp /usr/local/src/nginx /etc/init.d/nginx
chmod 755 /etc/init.d/nginx
chkconfig --add nginx
chkconfig nginx on

4、安裝PHP和Zend

複製代碼
代碼如下:

cd /usr/local/src
tar zxvf php-5.2.10.tar.gz
gzip -cd php-5.2.10-fpm-0.5.13.diff.gz | patch -d php-5.2.10 -p1
cd php-5.2.10
./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/etc/cgi --enable-mbstring --enable-ftp --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --enable-magic-quotes --with-mysql=/usr/local/mysql --with-pear --enable-sockets --with-ttf --with-freetype-dir=/usr --enable-gd-native-ttf --with-zlib --enable-sysvsem --enable-sysvshm --with-libxml-dir=/usr --enable-force-cgi-redirect --enable-fastcgi --with-xmlrpc --enable-zip --enable-fpm
make
make install
mkdir -p /usr/local/etc/cgi/
cp php.ini-dist /usr/local/etc/cgi/php.ini
mv -f /usr/local/src/php-fpm.conf /usr/local/php5/etc/php-fpm.conf
groupadd www
useradd -g www www
echo 'ulimit -SHn 65535' >> /etc/rc.local
echo '/usr/local/php5/sbin/php-fpm start' >> /etc/rc.local
cd /usr/local/src
tar zxvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
cd ZendOptimizer-3.3.3-linux-glibc23-i386
./install

(注意第一個要填的路徑是Zend安裝路徑,第二個是php.ini所在的路徑,即/usr/local/etc/cgi)
(不要選重啓apache)
5、啓動Nginx和php

複製代碼
代碼如下:

mv -f /usr/local/src/fcgi.conf /usr/local/nginx/conf/
cp -f /usr/local/src/nginx.conf /usr/local/nginx/conf/nginx.conf
mkdir -p /home/www/wwwroot
ulimit -SHn 65535
/usr/local/php5/sbin/php-fpm start
service nginx start

在/home/www/wwwroot放入一個index.php,內容爲
打開瀏覽器訪問,即可看到phpinfo頁面
6、設置系統防火牆
編輯/usr/local/sbin/fw.sh
複製以下內容進去

複製代碼
代碼如下:

#!/bin/bash
# Stop iptables service first
service iptables stop
# Load FTP Kernel modules
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
# Inital chains default policy
/sbin/iptables -F -t filter
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT ACCEPT
# Enable Native Network Transfer
/sbin/iptables -A INPUT -i lo -j ACCEPT
# Accept Established Connections
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# ICMP Control
/sbin/iptables -A INPUT -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT
# WWW Service
/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# FTP Service
/sbin/iptables -A INPUT -p tcp --dport 21 -j ACCEPT
# SSH Service
/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT

退出編輯,執行以下命令

複製代碼
代碼如下:

# chmod 755 /usr/local/sbin/fw.sh
# echo '/usr/local/sbin/fw.sh' >> /etc/rc.local
# /usr/local/sbin/fw.sh

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章