========騰訊雲重裝記錄================php
安裝時間:2018-09-09 12:15開始,結束時間:mysql
ubuntu@VM-0-8-ubuntu:~$ sudo uname -a Linux VM-0-8-ubuntu 4.10.0-32-generic #36~16.04.1-Ubuntu SMP Wed Aug 9 09:19:02 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux //或 ubuntu@VM-0-8-ubuntu:~$ cat /etc/issue Ubuntu 16.04.1 LTS \n \l //或 ubuntu@VM-0-8-ubuntu:~$ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 79 model name : Intel(R) Xeon(R) CPU E5-26xx v4 stepping : 1 microcode : 0x1 cpu MHz : 2394.454 cache size : 4096 KB physical id : 0 siblings : 1 core id : 0 cpu cores : 1 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch bmi1 avx2 bmi2 rdseed adx xsaveopt bugs : bogomips : 4788.90 clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management:
給root用戶設密碼nginx
ubuntu@VM-0-8-ubuntu:~$ sudo passwd Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
開啓root的ssh登陸權限
默認 ubuntu是沒有開啓root的ssh登陸權限的,修改sshd配置文件web
// sudo vim /etc/ssh/sshd_config #PermitRootLogin prohibit-password PermitRootLogin yes
如今很方便,可使用winscp之類的上傳和編輯文件了sql
ubuntu@VM-0-8-ubuntu:~$ sudo apt-get -y install nginx // ubuntu@VM-0-8-ubuntu:~$ nginx -v nginx version: nginx/1.10.3 (Ubuntu)
有關nginx的命令請參考 ubuntu@VM-0-8-ubuntu:~$ sudo nginx -h
測試
在瀏覽器中輸入http://134.175.42.125/(騰訊雲主機ip地址),顯示Welcome to nginx!,表示安裝成功shell
ubuntu@VM-0-8-ubuntu:~$ sudo apt-get -y install apache2
先只裝php,相關擴展根據須要再安裝apache
ubuntu@VM-0-8-ubuntu:~$ sudo apt-get install php7.0 // ubuntu@VM-0-8-ubuntu:~$ sudo apt-get install -y php7.0 libapache2-mod-php7.0 php7.0-common php7.0-gd php7.0-mysql php7.0-mcrypt php7.0-curl php7.0-intl php7.0-xsl php7.0-mbstring php7.0-zip php7.0-bcmath php7.0-iconv php7.0-soap //當前版本是7.0.30 ubuntu@VM-0-8-ubuntu:~$ php -v PHP 7.0.30-0ubuntu0.16.04.1 (cli) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies with Zend OPcache v7.0.30-0ubuntu0.16.04.1, Copyright (c) 1999-2017, by Zend Technologies
到這裏請配置好nginx,這裏最容易卡住
先初步配置nginxubuntu
中間會要求輸入root密碼vim
ubuntu@VM-0-8-ubuntu:~$ sudo apt-get install mysql-server mysql-client // 版本是5.7.23-0ubuntu0.16.04.1 ubuntu@VM-0-8-ubuntu:~$ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 7 Server version: 5.7.23-0ubuntu0.16.04.1 (Ubuntu)
到此約10分鐘,如今花點時間在配置上,讓它支持phpapi
ubuntu@VM-0-8-ubuntu:~$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/1.conf ubuntu@VM-0-8-ubuntu:~$ sudo ln /etc/apache2/sites-available/1.conf /etc/apache2/sites-enabled/1.conf // 這是史上最短的配置文件 <VirtualHost *:80> ServerName www.fangshuixiushan.cn DocumentRoot /var/www/fangshuixiushan/cms/www </VirtualHost> ubuntu@VM-0-8-ubuntu:~$ su Password: root@VM-0-8-ubuntu:/home/ubuntu# sudo echo -e "<?php\nphpinfo();\n?>" > /var/www/fangshuixiushan/cms/www/index.php
ubuntu@VM-0-8-ubuntu:~$ sudo apt-get install subversion //版本是1.9.3 ubuntu@VM-0-8-ubuntu:~$ svn --version svn, version 1.9.3 (r1718519)
不少目錄能夠放subversion文件倉庫,最多見的是/usr/local/svn和/home/svn
// 一個客戶建一個倉庫,方便管理 sudo mkdir -p /home/svn/fangshuixiushan sudo svnadmin create /home/svn/fangshuixiushan //說明:先建立目錄(-p多級建立),再在該目錄下新建版本庫 //如今/home/svn/fangshuixiushan/conf/svnserve.conf, passwd ,authz三個配置文件,先備份下 cd /home/svn/fangshuixiushan/conf ubuntu@VM-0-8-ubuntu:/home/svn/fangshuixiushan/conf$ sudo cp svnserve.conf svnserve.conf.bak ubuntu@VM-0-8-ubuntu:/home/svn/fangshuixiushan/conf$ sudo cp passwd passwd.bak ubuntu@VM-0-8-ubuntu:/home/svn/fangshuixiushan/conf$ sudo cp authz authz.bak
// 快速方法,切換到root後執行下面三條命令 sudo echo -e "[general]\nanon-access=read\nauth-access=write\npassword-db=passwd\nauthz-db=authz\n[sasl]" > /home/svn/fangshuixiushan/conf/svnserve.conf sudo echo -e "[users]\naaaa=aaaamima\nbbbb=bbbbmima" > /home/svn/fangshuixiushan/conf/passwd sudo echo -e "[groups]\ndevelop=aaaa,bbbb\nmanger=aaaa\n[/]\n@develop=rw\n*=r" > /home/svn/fangshuixiushan/conf/authz // sudo vim svnserve.conf // /home/svn/fangshuixiushan/conf/svnserve.conf文件的內容以下 [general] anon-access = read auth-access = write password-db = passwd authz-db = authz [sasl] // sudo vim passwd // /home/svn/fangshuixiushan/conf/passwd文件的內容以下 [users] aaaa=aaaamima bbbb=bbbbmima // sudo vim authz // /home/svn/fangshuixiushan/conf/authz(先備份) [groups] develop = aaaa,bbbb manger = aaaa [/] @develop=rw *=r
添加規則
0.0.0.0/0 TCP:3690 容許 -
不然會拒絕svn訪問
不是服務器,是本地安裝,下載地址
先重啓svn
svnserve -d -r /home/svn //若是報錯svnserve: E000098: Can't bind server socket: Address already in use 查下svn當前佔的端口 root@VM-0-14-ubuntu:~# ps -aux | grep svn root 16960 0.0 0.1 72492 940 ? Ss 14:29 0:00 svnserve -d -r /home/svn root 19765 0.0 0.0 13232 880 pts/5 S+ 15:20 0:00 grep --color=auto svn //kill進程 kill -9 16960 // 或直接killall svnserve關閉 //再啓動 sudo svnserve -d -r /home/svn
倉庫路徑爲 svn://134.175.42.125/fangshuixiushan/
在本地使用TortoiseSVN 檢出(checkout)成功,新建一文件上傳,也成功,ok,萬里長征,完成60%
新建或編輯提交後鉤子
ubuntu@VM-0-8-ubuntu:/home/svn/fangshuixiushan/hooks$ sudo vim post-commit ubuntu@VM-0-8-ubuntu:/home/svn/fangshuixiushan/hooks$ sudo chmod 777 /home/svn/fangshuixiushan/hooks/post-commit
內容以下
#!/bin/bash # 基本變量 company=fangshuixiushan #只須要替換這裏就行 export LANG=en_US.UTF-8 dateTime=`date +%F` dateTimeMinute=`date +%H%M%S` binSvn=/usr/bin/svn # 你svn命令的絕對路徑,若是不知道,請用find / -name svn查找 dirHtmlApp=/var/www/${company}/ # 檢出的web站點根目錄,請先建好,一開始就是一個空目錄,權限爲0666 logFileName=/tmp/${company}_svnhooks_${dateTime}.log #變量名加{} # svn配置 # [1] REPOS-PATH 倉庫路徑 # [2] REV 剛執行修訂版本號 # [3] TXN-NAME (the name of the transaction that has become REV) REPOS="$1" REV="$2" # 檢出或者更新subversion,鉤子的核心功能 echo "-- $dateTimeMinute" >> $logFileName # 先要將svn倉庫中的內容檢出到網站對應的目錄中,如何判斷有沒有檢出過呢,就是看是否有文件夾.svn # 如是檢出過,就直接更新就行 if [ ! -d $dirHtmlApp/.svn ]; then # 檢出SVN echo "$binSvn co file://$REPOS/ $dirHtmlApp" >> $logFileName # 使用命令co檢出 $binSvn co file://$REPOS/ $dirHtmlApp if [ $? -eq 0 ]; then echo "checkout ok" >> $logFileName else echo "checkout error" >> $logFileName fi else # 更新svn echo " $binSvn up $REV $dirHtmlApp " >> $logFileName # 使用up命令更新 $binSvn up $REV $dirHtmlApp >> $logFileName if [ $? -eq 0 ]; then echo " update sucess " >> $logFileName else echo " update fial " >> $logFileName fi fi echo "--" >> $logFileName exit 0 #少行,有時會報exit code 255錯誤
建議先用測試下,檢出,上傳,刪除後,確認無誤後再進行批量操做
提交、檢出報錯
Unable to connect to a repository at URL 'svn://134.175.42.125/fangshuixiushan'
Can't connect to host '134.175.42.125': 因爲目標計算機積極拒絕,沒法鏈接。
緣由1:svn服務未啓動,執行 svnserve -d -r /home/svn
啓動svn服務器
Unable to connect to a repository at URL 'svn://134.175.42.125/fangshuixiushan'
line 1: Section header expected
緣由:通常是本個配置文件格式或哪裏多了空格之類的,也有可能寫掉了什麼如[genereal]
can't open file db/txn-current-lock:permission denied
緣由:權限不夠
post-commit hook failed (exit code 255) with no output.
緣由: post-commit 腳本文件的權限不對,post-commit 腳本必須有 +x 權限。
sudo chmod 777 /home/svn/fangshuixiushan/hooks/post-commit
sudo chmod +x /home/svn/fangshuixiushan/hooks/post-commit
或少了 #!/bin/bash
Can't open file '/home/svn/fangshuixiushan/db/txn-current-lock': Permission denied由於啓動時不是root帳號,就會這樣,vnserve -d -r /home/svn前面別忘了加sudo svnserve -d -r /home/svnphp文件直接下載,不解析由於沒有配置 fastcgi_pass unix:/run/php/php7.0-fpm.sock; 403 forbidden的解決辦法 引發nginx 403 forbidden一般是三種狀況:一是缺乏索引文件,二是權限問題,三是SELinux狀態。post-commit hook failed (exit code 255) with no output.sudo chmod -R 755 /var/www/fangshuixiushan/cms/www