本文實例講述了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. 更新系統
yum update
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
重啟網絡:
service network restart
關閉SELiinux
在后面的工作中,發現很多地方不方便,例如ftp無法上傳等問題,ssh遠程無法連接等,于是關閉SELinux,運行以下命令:
#/usr/sbin/setenforce 0#echo "usr/sbin/setenforce 0" >> /etc/rc.local
這樣就可以把關閉SELinux加入開機啟動。
希望本文所述對大家CentOS服務器配置有所幫助。
新聞熱點
疑難解答