摘要:前言本次目標是在新安裝在虛擬機中的系統中安裝一系列后端開發通常用到的程序服務這里不介紹的安裝并以為例子部署一個網站開機啟動重要提示如果覺得一個個安裝和配置太麻煩那推薦使用寶塔可視化管理工具進行操作基本實現一鍵操作極大提高效率簡言之一個字爽當
前言
本次目標是在新安裝在虛擬機中的CentOS7.5系統中安裝一系列后端開發通常用到的程序服務(這里不介紹CentOS的安裝),并以phpMyAdmin為例子部署一個網站.
Nginx(1.16)
MySQL(8.0,開機啟動)
PHP(7.3)
Redis(1.5)
memcached(1.4)
Composer(1.8)
phpMyAdmin(4.8)
nodejs(10.15)
yarn(1.15)
重要提示:如果覺得一個個安裝和配置太麻煩那推薦使用寶塔可視化管理工具進行操作,基本實現一鍵操作極大提高效率,簡言之一個字,爽!(當然也不是完美的,如當版本該工具不支持在ubuntu安裝MySQL8.0)
約定虛擬機ip是192.168.8.15,
管理員用戶名sorgo,
服務程序執行用戶名www,
網站根除目錄/data/wwwroot,
安裝和配置時除特別說明則root用戶操作,
執行編輯文件命令后,下一行開始向右縮進4個空格為本次編輯的內容
vmware虛擬機安裝不到20分鐘可以完成(基礎網頁服務器1810版本,選中文環境,yum源默認是163.com)
用戶設置useradd www -s /usr/sbin/nologin useradd -G www sorgo passwd sorgo #賦予sorgo用戶root權限,且切換root時不用輸密碼, `-l`查看已有權限 visudo #編輯內容: #添加一條,表示sorgo可使用`sudo`執行root權限 sorgo ALL=(ALL) NOPASSWD: ALL全局命令別名設置
vim /etc/bashrc # 添加內容: alias s-start="systemctl start" alias s-stop="systemctl stop" alias s-restart="systemctl restart" alias s-enable="systemctl enable" alias s-disable="systemctl disablep" alias s-status="systemctl status" alias vi="vim" alias ll="ls -laph" alias ..="cd .." alias nrd="npm run dev" alias nrh="npm run hot" alias nrp="npm run production" alias nrw="npm run watch" alias nrww="npm run watch-poll" alias yrd="yarn run dev" alias yrh="yarn run hot" alias yrp="yarn run production" alias yrw="yarn run watch" alias yrwp="yarn run watch-poll" alias pa="php artisan" alias phpspec="vendor/bin/phpspec" alias phpunit="vendor/bin/phpunit" #使修改立即生效 source /etc/bashrc網站目錄及權限
#項目目錄 mkdir -p /data/wwwroot/ #日志目錄 mkdir -p /data/wwwlogs/nginx/ #網站基礎應用的安裝目錄 mkdir /data/server/ #賦權 chown -R sorgo:www /data/ chmod -Rf g+s /data/網卡配置
#查看網卡名,左側一欄那個就是 ifconfig #編輯網卡配置,使nat模式的ip固定下來 vi /etc/sysconfig/network-scripts/ifcfg-ens33 #編輯內容: #配置文件關鍵內容,僅供參考 NAME=ens33 DEVICE=ens33 DEFROUTE=yes ONBOOT=yes #設置為static時要帶`IPADDR` BOOTPROTO=static IPADDR=192.168.8.15 NETMASK=255.255.255.0 #重啟生效 systemctl restart networkyum源配置
阿里源
cd /etc/yum.repos.d mv CentOS-Base.repo CentOS-Base.repo.bak wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum clean all yum makecache
163源
官方使用幫助
cd /etc/yum.repos.d/ mv CentOS-Base.repo CentOS-Base.repo.backup wget -O CentOS-Base.repo https://mirrors.163.com/.help/CentOS7-Base-163.repo yum clean all yum makecache #更新系統所有yum安裝的程序,選做 yum update -y
yum的一些命令
yum list all #列出所有安轉包 yum list installed #列出已經安裝的 yum list available #列出沒有安裝的 yum remove software #卸載軟件 yum install software #安裝軟件 yum search 關鍵字 #搜索與關鍵字相關的軟件 yum whatprovides 文件 #搜索包含此文件的包 yum reinstall software #從新安裝軟件 yum localinstall 第三方軟件 #安裝該軟件并解決依賴關系 yum info software #查詢軟件信息 yum groups list #列出軟件組 yum groups install #安裝組 yum groups remove #卸載組 yum groups info #查看組信息 yum repolist #查看已安裝的源關閉防火墻
在centos7.5中,防火墻是默認開機啟動的,在開發環境中為了方便起見這里直接把防火墻關閉
#查看狀態 systemctl status firewalld #取消開機啟動 systemctl disable firewalld #關閉防火墻 systemctl stop firewalld #關閉selinux,否則影響samba的使用 vi /etc/selinux/config #編輯內容: SELINUX=disabledpstree
yum install psmisc -y #查看目前在運行的進程 pstree編譯安裝程序用到的工具
#centos1810已默認安裝 yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel好用的命令
#按進程名查看pid pidof nginx #按進程名終止 pkill redis-server killall redis-serverssh
ssh連接工具推薦使用MobaXterm,其自帶ftp文件傳輸功能
本次安裝的是stable版(當前是1.16.*)
官方安裝指導文檔
#創建源文件 vi /etc/yum.repos.d/nginx.repo #添加以下內容 [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key [nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/ gpgcheck=1 enabled=0 gpgkey=https://nginx.org/keys/nginx_signing.key
如果要將主線版本設為默認安裝的版本,可執行yum-config-manager --enable nginx-mainline
安裝yum install yum-utils #下面命令會安裝前面源文件設置的stable版本 yum install -y nginx #查看安裝好的版本 nginx -v網站目錄配置
全局配置
#配置執行用戶名 vi /etc/nginx/nginx.conf #編輯內容: user www;
為新項目添加一個nginx站點配置,這是一個php網站的配置模板,今后其它網點的配置都會以這個模板為基礎進行修改匹配.
#vi /etc/nginx/conf.d/your_project_name.conf #編輯內容: #添加 server { listen 1700; #listen 443 ssl http2; #listen [::]:443 ssl http2; #listen [::]:80; #server_name domain.com; #字符集設置只能在server塊內 charset utf-8; index index.php index.html index.htm default.php default.htm default.html; root /data/wwwroot/your_project_name/public; #access_log /data/wwwlogs/nginx/your_project_name.log; #error_log /data/wwwlogs/nginx/your_project_name.error.log; #laravel、thinkPHP路由配置 location / { try_files $uri $uri/ /index.php?$query_string; } #運行php文件 location ~ .php$ { try_files $uri =404; fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } #禁止訪問的文件或目錄 location ~ ^/(.user.ini|.htaccess|.git|.svn|.project|LICENSE|README.md) { return 404; } location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; error_log off; access_log /dev/null; } location ~ .*.(js|css)?$ { expires 12h; error_log off; access_log /dev/null; } }運行
#測試配置信息是否有語法問題,通過后才能啟動 nginx -t #啟動 nginx
全部指令
nginx -t #測試配置信息
nginx #默認啟動方式 start
nginx -v #顯示版本信息,-V(大V)顯示編譯時的參數
nginx -s stop #快速停止服務
nginx -s quit #正常停止服務
nginx -s reload #重啟
#安裝源 yum install -y epel-release yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm #搜索符合條件的包 yum search php73 #安裝php7.3及其擴展 #包含redis、memcached、msgpack和yaf框架等php擴展 yum install -y php73-php php73-php-fpm php73-php-pear php73-php-bcmath php73-php-mbstring php73-php-cli php73-php-pdo php73-php-pecl-mysql php73-php-mysqlnd php73-php-pecl-redis4 php73-php-pecl-memcached php73-php-pecl-msgpack php73-php-pecl-yaf php73-php-pecl-jsond-devel php73-php-gd php73-php-common php73-php-intl php73-php-xml php73-php-opcache php73-php-pecl-apcu php73-php-gmp php73-php-process php73-php-pecl-imagick php73-php-devel php73-php-zip php73-php-ldap php73-php-imap php73-php-pecl-mcrypt #程序的安裝路徑:`/opt/remi/php73/`; #配置文件路徑:`/etc/opt/remi/php73/php.ini`;配置
cp /etc/opt/remi/php73/php.ini /etc/opt/remi/php73/php.ini.bak #修改php時區和擴展文件目錄路徑 vi /etc/opt/remi/php73/php.ini #編輯內容: date.timezone = PRC extension_dir = "/opt/remi/php73/root/usr/lib64/php/modules/" #修改php-fpm執行用戶 vi /etc/opt/remi/php73/php-fpm.d/www.conf #編輯內容: user=www group=www #賦權 chown -R root:www /var/opt/remi/ #軟鏈到一般目錄 ln -s /etc/opt/remi/php73/php.ini /etc/php.ini ln -s /opt/remi/php73/root/usr/bin/php /usr/bin/php ln -s /opt/remi/php73/root/usr/sbin/php-fpm /usr/bin/php-fpm ln -s /opt/remi/php73/root/usr/bin/php-cgi /usr/bin/php-cgi ln -s /opt/remi/php73/root/usr/bin/pear /usr/bin/php-pear ln -s /opt/remi/php73/root/usr/bin/phar.phar /usr/bin/php-phar #查看安裝的php版本 php -v #查看已經安裝的php擴展模塊 php -m運行php-fpm
#啟動 php-fpm #終止 kill -QUIT `cat /var/opt/remi/php73/run/php-fpm/php-fpm.pid` #重啟 kill -USR2 `cat /var/opt/remi/php73/run/php-fpm/php-fpm.pid`
官方安裝指南
yum安裝 安裝#下載源 wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm #安裝源 yum localinstall -y mysql80-community-release-el7-1.noarch.rpm #列出可用的mysql包 #yum repolist enabled | grep mysql #如果打算安裝5.7,那執行下面兩句,切換默認版本 #yum-config-manager --disable mysql80-community #yum-config-manager --enable mysql57-community #安裝 yum install -y mysql-community-server #更新版本 #yum update mysql-server # 查看版本 mysql -V配置
vi /etc/my.cnf #編輯內容 [mysqld] # 設置3301端口 port=3301 # 允許最大連接數 max_connections=200 # 允許連接失敗的次數。這是為了防止有人從該主機試圖攻擊數據庫系統 max_connect_errors=10 # 服務端使用的字符集默認為UTF8 #character-set-server=utf8 # 創建新表時將使用的默認存儲引擎 default-storage-engine=INNODB # 默認使用“mysql_native_password”插件認證,以mysql5.7的密碼處理方式保存,以兼容較舊的連接程序,8.0默認是caching_sha2_password方式 default_authentication_plugin=mysql_native_password #設置默認時區 default-time_zone = "+8:00"運行
# 啟動 systemctl start mysqld # 開機啟動 systemctl enable mysqld # 狀態 systemctl status mysqld # 查看root初始密碼 grep "temporary password" /var/log/mysqld.log # 登錄 mysql -uroot -p # 必須修改初始密碼,新密碼須包含大小字字母、數字和特殊字符至少8個字符 # 采用mysql_native_password方式處理密碼,以mysql5.7的密碼處理方式保存,以兼容較舊的連接程序,8.0默認是caching_sha2_password方式 mysql> ALTER USER "root"@"localhost" IDENTIFIED WITH mysql_native_password BY "Sorgo123."; # 進入MySQL數據庫 mysql> use mysql; # 設置root用戶可在任意主機登錄 mysql> update user set host="%" where user="root" and host="localhost"; mysql> FLUSH PRIVILEGES; # 查詢user表信息 mysql> select user,host,plugin from user;
推薦的使用手冊
安裝cd /data/server/ wget http://download.redis.io/releases/redis-5.0.4.tar.gz tar -zvxf redis-5.0.4.tar.gz && cd redis-5.0.4 make #軟鏈成統一的目錄,方便多版本管理 ln -s /data/server/redis-5.0.4 /data/server/redis ln -s /data/server/redis/redis.conf /etc/redis.conf #軟鏈到命令目錄 ln -s /data/server/redis/src/redis-cli /usr/local/bin/redis-cli ln -s /data/server/redis/src/redis-server /usr/local/bin/redis-server ln -s /data/server/redis/src/redis-sentinel /usr/local/bin/redis-sentinel #查看版本 redis-server -v配置
# vi /etc/redis.conf #任意主機可訪問 bind 0.0.0.0 #密碼登錄 requirepass Sorgo123. #后臺進程的方式運行 daemonize yes運行
#按配置文件開啟 redis-server /etc/redis.conf #進入交互操作工具 redis-cli -h 127.0.0.1 -p 6379 -a Sorgo123. #查看redis進程信息 info server #關閉服務 shutdown
yum install -y memcached #查看幫助信息及版本 memcached -h #開啟,可按不同端口開啟多個進程 memcached -d -p 11211 -m 150 -u www #關閉,會把進程名包含`memcached`的都關閉 pkill memcached
啟動選項:編譯安裝,1.5
-d 是啟動一個守護進程;
-m 是分配給Memcache使用的內存數量,單位是MB;
-u 是運行Memcache的用戶;
-l 是監聽的服務器IP地址,可以有多個地址;
-p 是設置Memcache監聽的端口,,最好是1024以上的端口;
-c 是最大運行的并發連接數,默認是1024;
-P 是設置保存Memcache的pid文件。
cd /data/server/ #先安裝依賴,否則無法編譯 yum install -y libevent-devel #下載源碼 wget http://www.memcached.org/files/memcached-1.5.13.tar.gz #解壓和進入目錄 tar -zvxf memcached-1.5.13.tar.gz && cd memcached-1.5.13 #執行配置,這里只設置安裝目錄 ./configure --prefix=/data/server/memcached-1.5.13/ #編譯和安裝 make && make install ln -s /data/server/memcached-1.5.13 /data/server/memcached ln -s /data/server/memcached/bin/memcached /usr/local/bin/memcached #查看安裝的版本 memcached -h
#安裝 yum install -y samba samba-client samba-common #添加samba用戶,用戶已存在的用戶名,專門給samba登錄的密碼:sorgo smbpasswd -a sorgo #查看已添加的用戶 pdbedit -L #修改配置 cp /etc/samba/smb.conf /etc/samba/smb.conf.bak vim /etc/samba/smb.conf #添加可通過samba訪問的目錄路徑 [wwwroot] comment = website root path = /data/wwwroot valid users = sorgo writable = yes create mask = 0750 directory mask = 0750 #檢測配置文件語法 testparm #啟動 systemctl enable smb && systemctl enable nmb systemctl restart smb && systemctl restart nmb #查看狀態 smbstatus # linux端使用 ##測試連接 smbclient -L //192.168.8.15 -U smb_user_naem ##掛載到應用端 mount -t cifs //192.168.8.15/wwwroot/ /smb/ -o username=smb_user_naem,password=1234 df -h /smb ##卸載 umount /smb # windows端使用 ${ip} # 注意事項 * 絕對不要在配置文件里寫中文,即使是中文注釋,否則windows無法進入該目錄!!! * 如果服務器在windows里ping不通(不是因為服務器禁止ping,而是未知原因),那也是連不上的. * phpstrom在打開samba項目文件時變得異常卡頓
安裝
#生成composer.phar php73 -r "copy("https://install.phpcomposer.com/installer", "composer-setup.php");" php73 composer-setup.php php73 -r "unlink("composer-setup.php");" #移至命令目錄 mv composer.phar /usr/local/bin/composer #版本等信息 composer
設置
#設置源為國內鏡像,下面二選一 composer config -g repo.packagist composer https://packagist.phpcomposer.com composer config -g repo.packagist composer https://packagist.laravel-china.org #解除上面的設置 composer config -g --unset repos.packagist #查看全局配置 composer config -gl
phpMyAdmin其實就是一個php寫的網站, 到官網把php文件包下載到服務器, 設置好nginx指向根目錄即可.
cd /data/server/ #獲取方式1: 使用composer下載(有時速度不理想) #composer create-project phpmyadmin/phpmyadmin #獲取方式2: wget直接從官網下載(這是本次演示的方式) wget https://files.phpmyadmin.net/phpMyAdmin/4.8.5/phpMyAdmin-4.8.5-all-languages.zip #獲取方式3: 在其它地方下載好,然后通過ftp上傳到本服務器,原則上哪個便利采用哪種 #解壓到當前目錄 unzip phpMyAdmin-4.8.5-all-languages.zip #軟鏈方便版本控制 ln -s phpMyAdmin-4.8.5-all-languages phpmyadmin #編輯配置文件 cp phpmyadmin/config.sample.inc.php phpmyadmin/config.inc.php vi phpmyadmin/config.inc.php #下面是編輯內容: #設置任意32位以上長度的密鑰 $cfg["blowfish_secret"] = "dNE9GVnon3LWSVGvhGPuZdBhb7c7RtQ3"; #賦權 chmod -R 770 phpmyadmin/ #nginx網站配置,利用sed命令來替換一個模板配置中的關鍵值 #主要改變了監聽的端口`8888`和日志文件名`phpmyadmin` cat /etc/nginx/conf.d/your_project_name.conf | sed "s/1700/8888/g" | sed "s/your_project_name./phpmyadmin./g" | sed "s/wwwroot/your_project_name/public/server/phpmyadmin//g" > /etc/nginx/conf.d/phpmyadmin.conf #檢查配置文件無誤方可啟動 nginx -t #重啟nginx nginx -s reload #訪問 http://192.168.8.15:8888/
中文API文檔
node.js的安裝方式有:
epel源yum安裝(目前是6.16版);
二進制文件安裝;
源碼編譯安裝;
現在介紹后兩種方法,也是版本選擇較為豐富的方法
二進制文件安裝(10.15.3)(推薦)這個是下載下來就能用的
cd /data/server/ #下載二進制文件包,大概12M wget https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.xz #解壓,注意這個解壓命令與解壓`.gz`結尾的文件不同 tar -xJvf node-v10.15.3-linux-x64.tar.xz #軟鏈 ln -s node-v10.15.3-linux-x64 node ln -s /data/server/node/bin/node /usr/local/bin/node ln -s /data/server/node/bin/npm /usr/local/bin/npm ln -s /data/server/node/bin/npx /usr/local/bin/npx #查看版本 node -v npm -v編譯安裝(10.15.3)
編譯的過程很慢,親測一個小時左右
cd /data/server/ #下載源碼,大概35M wget https://nodejs.org/dist/v10.15.3/node-v10.15.3.tar.gz tar -zvxf node-v10.15.3.tar.gz && cd node-v10.15.3 #執行配置腳本 ./configure #編譯和安裝 make && make install #查看版本 node -v npm -v
官方安裝文檔
#添加yarn的yum源 curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo #安裝,須確保nodejs已經安裝好 yum install -y yarn #查看版本 yarn -v
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/31334.html
摘要:前言本次目標是在新安裝在虛擬機中的系統中安裝一系列后端開發通常用到的程序服務這里不介紹的安裝并以為例子部署一個網站開機啟動重要提示如果覺得一個個安裝和配置太麻煩那推薦使用寶塔可視化管理工具進行操作基本實現一鍵操作極大提高效率簡言之一個字爽當 前言 本次目標是在新安裝在虛擬機中的CentOS7.5系統中安裝一系列后端開發通常用到的程序服務(這里不介紹CentOS的安裝),并以phpMyA...
摘要:基于的私有云混合云構建方案蘇依蜀黍是一個開源的引擎,可以輕松的為任何應用創建一個輕量級的可移植的自給自足的容器。開發者在筆記本上編譯測試通過的容器可以批量地在生產環境中部署,包括虛擬機集群和其他的基礎應用平臺。 container-as-a-service-0x01 -- 基于Docker的私有云&混合云構建方案 By 蘇依蜀黍 . 2016.06.07 what Docker是一...
閱讀 1833·2021-11-25 09:43
閱讀 1334·2021-11-22 15:08
閱讀 3734·2021-11-22 09:34
閱讀 3224·2021-09-04 16:40
閱讀 3000·2021-09-04 16:40
閱讀 541·2019-08-30 15:54
閱讀 1333·2019-08-29 17:19
閱讀 1751·2019-08-28 18:13