本文實例講述了centos6.4+nginx+mysql+php+phpmyadmin整合過程。分享給大家供大家參考,具體如下:
裝了很多次機,做了很多次重復(fù)工作,最后,總結(jié)以下裝CentOS經(jīng)驗:
注:很多問題其實都不是問題,先把selinux關(guān)了!setenforce 0 ,不然會死的很慘!
1. 先更新源
啟用國內(nèi)的源: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 升級系統(tǒng)
下面才是安裝我們需要的軟件,例如 nginx+php+php-fpm+mysql+vsftpd等
下面開始配置:
1. 設(shè)置系統(tǒng)時間
cp /usr/share/zoneinfo/Asia/Hong_Kong /etc/localtimedate #查看系統(tǒng)時間*/30 * * * * /usr/sbin/ntpdate time.nist.govcrontab -e
加入這行:*/30 * * * * /usr/sbin/ntpdate time.nist.gov
2. 更新系統(tǒng)
yum update
3. 安裝Nginx:
Niginx 官方的更新源增加: vim /etc/yum.repos.d/nginx.repo
增加以下內(nèi)容
[nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/6/$basearch/gpgcheck=0enabled=1yum install nginx
優(yōu)化Nginx配置:
#根據(jù)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;}#參數(shù)調(diào)整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優(yōu)化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并優(yōu)化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;
設(shè)置開機啟動:
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
設(shè)置網(wǎng)站的默認目錄:#這里php-fpm是采用監(jiān)聽端口的方式,同一臺機的話最好采用unix socket
#去除下面這段內(nèi)容的注釋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行的參數(shù),改為$document_root$fastcgi_script_name,或者使用絕對路徑
4. vsftpd配置
先配置iptables , vi /etc/sysconfig/iptables ,復(fù)制 --dport 22那行,粘貼改成21端口。保存,重啟service iptables restart。
yum install vsftpd ftptouch /var/log/vsftpd.logservice vsftpd startchkconfig vsftpd onvim /etc/vsftpd/vsftpd.conf#修改相關(guān)參數(shù)如下:#設(shè)定不允許匿名訪問anonymous_enable=NO#設(shè)定本地用戶可以訪問。注:如使用虛擬宿主用戶,在該項目設(shè)定為NO的情況下所有虛擬用戶將無法訪問。local_enable=YES#使用戶不能離開主目錄,并制定文件chroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_list#設(shè)定vsftpd的服務(wù)日志保存路徑。注意,該文件默認不存在。必須要手動touch出來 ,前面步驟已經(jīng)創(chuàng)建xferlog_file=/var/log/vsftpd.log#允許使用ASCII模式上傳和下載ascii_upload_enable=YESascii_download_enable=YES#PAM認證文件名。PAM將根據(jù)/etc/pam.d/vsftpd進行認證pam_service_name=vsftpd#以下這些是關(guān)于Vsftpd虛擬用戶支持的重要CentOS FTP服務(wù)配置項目。默認vsftpd.conf中不包含這些設(shè)定項目,需要自己手動添加RHEL/CentOS FTP服務(wù)配置。#設(shè)定啟用虛擬用戶功能。guest_enable=YES#指定虛擬用戶的宿主用戶。-RHEL/CentOS中已經(jīng)有內(nèi)置的ftp用戶了guest_username=ftp#設(shè)定虛擬用戶個人vsftp的RHEL/CentOS FTP服務(wù)文件存放路徑。存放虛擬用戶個性的CentOS FTP服務(wù)文件(配置文件名=虛擬用戶名) 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
加入相應(yīng)的用戶信息,其中奇數(shù)行為你新增用戶的賬號,偶數(shù)行為密碼,不能有空格
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
用#注釋所有的內(nèi)容,然后增加以下兩行內(nèi)容:
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwdaccount required pam_userdb.so db=/etc/vsftpd/vuser_passwd
保存退出。再創(chuàng)建虛擬用戶的ftp服務(wù)文件夾,以及前文中所增加的賬號用戶的配置文件
mkdir /etc/vsftpd/vuser_conf/vim /etc/vsftpd/vuser_conf/username1
填寫以下內(nèi)容:
#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
保存內(nèi)容,退出。要創(chuàng)建上述配置文件中所設(shè)置的用戶根目錄,并為其設(shè)置權(quán)限
mkdir /home/www/ftpchmod 777 /home/www/ftpservice vsftpd restart
ok
#有時候會出現(xiàn),可以連接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的關(guān)機,
modprobe ip_nat_ftpservice iptables restart && service vsftpd restart
5. 安裝Mysql5.6
yum update#數(shù)據(jù)庫服務(wù)器的安裝 , 請自行在mysql官方找最新的rpmrpm -Uvh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpmyum install mysql-server
安裝完成后記得運行
mysql_security_installation
遠程連接時,還要將mysql3306端口加入iptables,同樣使用前面的方法,復(fù)制一句22的,改成3306,重啟iptables即可。
配置mysql遠程連接:命令行使用root登錄
mysql -uroot -puse mysql;update user set host = '%' where user = 'root';
另外可能的工作:
安裝phpMyAdmin
google phpMyAdmin找到在sourceforge的地址,然后在網(wǎng)站根目錄下wget下來。
解壓,重命名目錄,進入目錄,
cp config.sample.inc.php config.inc.php
重啟nginx
注意這里還得再改一下,瀏覽器進入phpmyadmin地址,可能會出現(xiàn)下面的錯誤:
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
現(xiàn)在應(yīng)該可以訪問了...
配置mysql遠程連接
因為管理需要,我們需要遠程連接一下mysql,以進行管理。安裝好phpmyadmin后,在用戶那里可以選擇新建一個用戶,將主機設(shè)置為需要連接的主機ip或任意主機即可
自動掛載硬盤:
由于外置了一個硬盤,所以得配置開機自動掛載。vim /etc/fstab加入:
/dev/sdc /mnt/data auto defaults 0 0
centos網(wǎng)絡(luò)配置:
IP設(shè)置 : /etc/sysconfig/network-scripts/ifcfg-eth0
網(wǎng)關(guān)設(shè)置: /etc/sysconfig/network
DNS設(shè)置: /etc/resolv.conf
重啟網(wǎng)絡(luò):
service network restart
關(guān)閉SELiinux
在后面的工作中,發(fā)現(xiàn)很多地方不方便,例如ftp無法上傳等問題,ssh遠程無法連接等,于是關(guān)閉SELinux,運行以下命令:
#/usr/sbin/setenforce 0#echo "usr/sbin/setenforce 0" >> /etc/rc.local
這樣就可以把關(guān)閉SELinux加入開機啟動。
希望本文所述對大家CentOS服務(wù)器配置有所幫助。
新聞熱點
疑難解答