本文執行個體講述了centos6.4+nginx+mysql+php+phpmyadmin整合過程。分享給大家供大家參考,具體如下:
裝了很多次機,做了很多次重複工作,最後,總結以下裝CentOS經驗:
註:很多問題其實都不是問題,先把selinux關了!setenforce 0 ,不然會死的很慘!
1. 先更新源
啟用國內的源:163或sohu
163:http://mirrors.163.com/.help/centos.html
如果想使用新的軟體,建議用REPL和remi的源
#remi的源rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpmrpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6#Fedora REPL的源rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpmrpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-remi
然後 yum update 升級系統
下面才是安裝我們需要的軟體,例如 nginx+php+php-fpm+mysql+vsftpd等
下面開始配置:
1. 設定系統時間
cp /usr/share/zoneinfo/Asia/Hong_Kong /etc/localtimedate #查看系統時間*/30 * * * * /usr/sbin/ntpdate time.nist.govcrontab -e
加入這行:*/30 * * * * /usr/sbin/ntpdate time.nist.gov
2. 更新系統
3. 安裝Nginx:
Niginx 官方的更新源增加: vim /etc/yum.repos.d/nginx.repo
增加以下內容
[nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/6/$basearch/gpgcheck=0enabled=1yum install nginx
最佳化Nginx配置:
#根據CPU核心processes而定worker_processes 6;worker_cpu_affinity 000001 000010 000100 001000 010000 100000 ;<br><br>#啟用epollworker_rlimit_nofile 51200;events { worker_connections 51200; use epoll;}#參數調整sendfile on;tcp_nopush on;tcp_nodelay on;server_tokens off;keepalive_timeout 50;server_names_hash_bucket_size 128;client_header_buffer_size 32k;large_client_header_buffers 4 32k;client_max_body_size 50m;#fastcgi最佳化fastcgi_connect_timeout 300;fastcgi_send_timeout 300;fastcgi_read_timeout 300;fastcgi_buffer_size 64k;fastcgi_buffers 4 64k;fastcgi_busy_buffers_size 128k;fastcgi_temp_file_write_size 256k;#開啟gzip並最佳化gzip on;gzip_min_length 1k;gzip_buffers 4 16k;gzip_http_version 1.0;gzip_comp_level 2;gzip_types text/plain application/x-javascript text/css application/xml;gzip_vary on;
設定開機啟動:
service nginx startchkconfig nginx on#安裝php,php-fpmyum install php php-fpm php-bcmatch php-gd php-mbstring php-mcrypt php-mysql
配置PHP指令碼的運行:
cp/etc/nginx/conf.d/default.conf etc/nginx/conf.d/default.confbakvim /etc/nginx/conf.d/default.conf
設定網站的預設目錄:#這裡php-fpm是採用監聽連接埠的方式,同一台機的話最好採用unix socket
#去除下面這段內容的注釋location ~ \.php$ { root /home/www; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params;}#注意其中fastcgi_param行的參數,改為$document_root$fastcgi_script_name,或者使用絕對路徑
4. vsftpd配置
先配置iptables , vi /etc/sysconfig/iptables ,複製 --dport 22那行,粘貼改成21連接埠。儲存,重啟service iptables restart。
yum install vsftpd ftptouch /var/log/vsftpd.logservice vsftpd startchkconfig vsftpd onvim /etc/vsftpd/vsftpd.conf#修改相關參數如下:#設定不允許匿名訪問anonymous_enable=NO#設定本機使用者可以訪問。註:如使用虛擬宿主使用者,在該項目設定為NO的情況下所有虛擬使用者將無法訪問。local_enable=YES#使使用者不能離開主目錄,並制定檔案chroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_list#設定vsftpd的服務日誌儲存路徑。注意,該檔案預設不存在。必須要手動touch出來 ,前面步驟已經建立xferlog_file=/var/log/vsftpd.log#允許使用ASCII模式上傳和下載ascii_upload_enable=YESascii_download_enable=YES#PAM認證檔案名稱。PAM將根據/etc/pam.d/vsftpd進行認證pam_service_name=vsftpd#以下這些是關於Vsftpd虛擬使用者支援的重要CentOS FTP服務設定項目。預設vsftpd.conf中不包含這些設定項目,需要自己手動添加RHEL/CentOS FTP服務配置。#設定啟用虛擬使用者功能。guest_enable=YES#指定虛擬使用者的宿主使用者。-RHEL/CentOS中已經有內建的ftp使用者了guest_username=ftp#設定虛擬使用者個人vsftp的RHEL/CentOS FTP服務檔案存放路徑。存放虛擬使用者個性的CentOS FTP服務檔案(設定檔名=虛擬使用者名稱) user_config_dir=/etc/vsftpd/vuser_conftouch /etc/vsftpd/chroot_listecho ftp >> /etc/vsftpd/chroot_listyum install db4 db4-utilsvim /etc/vsftpd/vuser_passwd.txt
加入相應的使用者資訊,其中奇數行為你新增使用者的帳號,偶數行為密碼,不能有空格
username1
password1
username2
password2
儲存檔案退出,產生使用者認證的db檔案
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.dbvim /etc/pam.d/vsftpd
用#注釋所有的內容,然後增加以下兩行內容:
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwdaccount required pam_userdb.so db=/etc/vsftpd/vuser_passwd
儲存退出。再建立虛擬使用者的ftp服務檔案夾,以及前文中所增加的帳號使用者的設定檔
mkdir /etc/vsftpd/vuser_conf/vim /etc/vsftpd/vuser_conf/username1
填寫以下內容:
#username1使用者的根目錄(自己決定)local_root=/home/www/ftpwrite_enable=YESanon_umask=0anon_world_readable_only=NOanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YES
儲存內容,退出。要建立上述設定檔中所設定的使用者根目錄,並為其設定許可權
mkdir /home/www/ftpchmod 777 /home/www/ftpservice vsftpd restart
ok
#有時候會出現,可以串連ftp,卻不能列出目錄,這個是iptable的連接埠問題。開啟PASV即可,vim /etc/vsftpd/vsftpd.conf
pasv_enable=YESpasv_min_port=9000pasv_max_port=9020
然後在iptables裡面加上這兩個連接埠,還是前面說的,yy一行22,再p一下,把22改成9000:9020;
還有可能是selinux的關機,
modprobe ip_nat_ftpservice iptables restart && service vsftpd restart
5. 安裝Mysql5.6
yum update#資料庫伺服器的安裝 , 請自行在mysql官方找最新的rpmrpm -Uvh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpmyum install mysql-server
安裝完成後記得運行
mysql_security_installation
遠端連線時,還要將mysql3306連接埠加入iptables,同樣使用前面的方法,複製一句22的,改成3306,重啟iptables即可。
配置mysql遠端連線:命令列使用root登入
mysql -uroot -puse mysql;update user set host = '%' where user = 'root';
另外可能的工作:
安裝phpMyAdmin
google phpMyAdmin找到在sourceforge的地址,然後在網站根目錄下wget下來。
解壓,重新命名目錄,進入目錄,
cp config.sample.inc.php config.inc.php
重啟nginx
注意這裡還得再改一下,瀏覽器進入phpmyadmin地址,可能會出現下面的錯誤:
Cannot start session without errors, please check errors given in your PHP and/or webserver log file and configure your PHP installation properly.
需要將/var/lib/php/session的所有者改為nginx
chown -R nginx:nginx /var/lib/php/session
現在應該可以訪問了...
配置mysql遠端連線
因為管理需要,我們需要遠端連線一下mysql,以進行管理。安裝好phpmyadmin後,在使用者那裡可以選擇建立一個使用者,將主機設定為需要串連的主機ip或任意主機即可
自動掛載硬碟:
由於外置了一個硬碟,所以得配置開機自動掛載。vim /etc/fstab加入:
/dev/sdc /mnt/data auto defaults 0 0
centos網路設定:
IP設定 : /etc/sysconfig/network-scripts/ifcfg-eth0
網關設定: /etc/sysconfig/network
DNS設定: /etc/resolv.conf
重啟網路:
關閉SELiinux
在後面的工作中,發現很多地方不方便,例如ftp無法上傳等問題,ssh遠程無法串連等,於是關閉SELinux,運行以下命令:
#/usr/sbin/setenforce 0#echo "usr/sbin/setenforce 0" >> /etc/rc.local
這樣就可以把關閉SELinux加入開機啟動。
希望本文所述對大家CentOS伺服器配置有所協助。