centos6.4+nginx+mysql+php+phpmyadmin整合過程詳解
本文實例講述了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.rpm rpm --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.rpm rpm --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/localtime date #查看系統(tǒng)時間 */30 * * * * /usr/sbin/ntpdate time.nist.gov crontab -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 repo baseurl=http://nginx.org/packages/centos/6/$basearch/ gpgcheck=0 enabled=1 yum install nginx
優(yōu)化Nginx配置:
#根據(jù)CPU核心processes而定
worker_processes 6;
worker_cpu_affinity 000001 000010 000100 001000 010000 100000 ;<br><br>
#啟用epoll
worker_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 start chkconfig nginx on #安裝php,php-fpm yum 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.confbak vim /etc/nginx/conf.d/default.conf
設(shè)置網(wǎng)站的默認(rèn)目錄:#這里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 ftp touch /var/log/vsftpd.log service vsftpd start chkconfig vsftpd on vim /etc/vsftpd/vsftpd.conf #修改相關(guān)參數(shù)如下: #設(shè)定不允許匿名訪問 anonymous_enable=NO #設(shè)定本地用戶可以訪問。注:如使用虛擬宿主用戶,在該項目設(shè)定為NO的情況下所有虛擬用戶將無法訪問。 local_enable=YES #使用戶不能離開主目錄,并制定文件 chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list #設(shè)定vsftpd的服務(wù)日志保存路徑。注意,該文件默認(rèn)不存在。必須要手動touch出來 ,前面步驟已經(jīng)創(chuàng)建 xferlog_file=/var/log/vsftpd.log #允許使用ASCII模式上傳和下載 ascii_upload_enable=YES ascii_download_enable=YES #PAM認(rèn)證文件名。PAM將根據(jù)/etc/pam.d/vsftpd進(jìn)行認(rèn)證 pam_service_name=vsftpd #以下這些是關(guān)于Vsftpd虛擬用戶支持的重要CentOS FTP服務(wù)配置項目。默認(rèn)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_conf touch /etc/vsftpd/chroot_list echo ftp >> /etc/vsftpd/chroot_list yum install db4 db4-utils vim /etc/vsftpd/vuser_passwd.txt
加入相應(yīng)的用戶信息,其中奇數(shù)行為你新增用戶的賬號,偶數(shù)行為密碼,不能有空格
username1
password1
username2
password2
保存文件退出,生成用戶認(rèn)證的db文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db vim /etc/pam.d/vsftpd
用#注釋所有的內(nèi)容,然后增加以下兩行內(nèi)容:
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd account 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/ftp write_enable=YES anon_umask=0 anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
保存內(nèi)容,退出。要創(chuàng)建上述配置文件中所設(shè)置的用戶根目錄,并為其設(shè)置權(quán)限
mkdir /home/www/ftp chmod 777 /home/www/ftp service vsftpd restart
ok
#有時候會出現(xiàn),可以連接ftp,卻不能列出目錄,這個是iptable的端口問題。開啟PASV即可,vim /etc/vsftpd/vsftpd.conf
pasv_enable=YES pasv_min_port=9000 pasv_max_port=9020
然后在iptables里面加上這兩個端口,還是前面說的,yy一行22,再p一下,把22改成9000:9020;
還有可能是selinux的關(guān)機,
modprobe ip_nat_ftp service iptables restart && service vsftpd restart
5. 安裝Mysql5.6
yum update #數(shù)據(jù)庫服務(wù)器的安裝 , 請自行在mysql官方找最新的rpm rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm yum install mysql-server
安裝完成后記得運行
mysql_security_installation
遠(yuǎn)程連接時,還要將mysql3306端口加入iptables,同樣使用前面的方法,復(fù)制一句22的,改成3306,重啟iptables即可。
配置mysql遠(yuǎn)程連接:命令行使用root登錄
mysql -uroot -p use mysql; update user set host = '%' where user = 'root';
另外可能的工作:
安裝phpMyAdmin
google phpMyAdmin找到在sourceforge的地址,然后在網(wǎng)站根目錄下wget下來。
解壓,重命名目錄,進(jìn)入目錄,
cp config.sample.inc.php config.inc.php
重啟nginx
注意這里還得再改一下,瀏覽器進(jìn)入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遠(yuǎn)程連接
因為管理需要,我們需要遠(yuǎn)程連接一下mysql,以進(jìn)行管理。安裝好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遠(yuǎn)程無法連接等,于是關(guān)閉SELinux,運行以下命令:
#/usr/sbin/setenforce 0 #echo "usr/sbin/setenforce 0" >> /etc/rc.local
這樣就可以把關(guān)閉SELinux加入開機啟動。
希望本文所述對大家CentOS服務(wù)器配置有所幫助。
相關(guān)文章
win10 docker-toolsbox 搭建php開發(fā)環(huán)境的教程
這篇文章主要介紹了win10 docker-toolsbox 搭建php開發(fā)環(huán)境的教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-10-10
Ingress七層路由機制實現(xiàn)域名的方式訪問k8s
這篇文章主要為大家介紹了Ingress七層路由機制實現(xiàn)域名的方式訪問k8s內(nèi)部應(yīng)用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03
php.ini 啟用disable_functions提高安全
如果想保證服務(wù)器的安全,請將這個函數(shù)加到disable_functions里或者將安全模式打開吧,在安全模式下dl函數(shù)是無條件禁止的2009-07-07

